Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: matake en 25 Julio 2016, 00:00 am



Título: javascript seguridad eval
Publicado por: matake en 25 Julio 2016, 00:00 am
Hola,

Ya he leído por todos los lados lo del "eval es evil" etc ... aunque la mayoría se resumen a decir que es malo pero no argumentan el porque.
Investigando mas y mas encontré también explicaciones como:
"que se puede ejecutar codigo arbitrario o de terceros".

Todavía estoy en fase de experimentos y he pensado en una minificacion javascript
De los que he probado me gusto UglifiJS2 http://lisperator.net/uglifyjs/
Pero me di cuenta que si empleo el packer http://dean.edwards.name/packer/
la minificacion es mucho mas efectiva ( sobre todo si antes de minificar voy a reunir todos los script en un unico fichero ) ya que el packer minifica todas las palabras que se repiten dentro del código ... incluido propriedades css ... palabras reservadas del proprio javascript ... etc ... o sea todo.

Lo que pasa con packer es que para restaurar los script en el cliente emplea eval()

Entonces mi pregunta seria:
¿Si empleo un chequeo de tipo suma hash antes del eval, reduce este el riesgo de seguridad que supone dicha "function del diablo" :D ?

Igual para los scripts recibidos como JSON la misma pregunta de antes.

Gracias

P.D.
Del lado servidor tengo:
https (TLS)
en apache securizando cabeceras (entre otras):
Código
  1. Header always set X-Frame-Options "SAMEORIGIN"
  2. Header always set X-Xss-Protection "1; mode=block"
  3. Header always set X-Content-Type-Options "nosniff"
  4. Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
  5.  

saneadas todas las variables de entrada (3 filtros )



Título: Re: javascript seguridad eval
Publicado por: engel lex en 25 Julio 2016, 01:10 am
Eval es peligroso en terminos de servidor un Eval en PHP es un hueco casi seguro... pero en jscript, normalmente es menos  peligroso, el codigo de terceros podria ejecutarse por ejemplo en este foro si puedes alcanzar el Eval desde este comentario, si te aseguras de que un usuario por vias normales no lo pueda alcanzar, no hay problemas



Título: Re: javascript seguridad eval
Publicado por: matake en 25 Julio 2016, 02:17 am
Gracias por responder @engel lex.

Lo del eval en el servidor ya esta decidido NUNCA usarlo.
Intentare, como tu dices, de asegurarme ( hasta que puedo :D ) que en javascript en el cliente  no sea alcanzable.

Saludos y felicidades por vuestro foro ... empiezo a aprender cositas poco a poco.

P.D.

Ja ja ... :D en este foro es como si se encuentran los lobos con las ovejas ... ley antes el tema "javascript bypassear hash de un formulario" de @Kaxperday  ... y justo del tema que expuso el aprendi que tengo que inventarme algun chequeo (limpieza) de todos los listeners asociados a eventos en el cliente para que justamente no me pase lo que el intenta hacer.


Título: Re: javascript seguridad eval
Publicado por: engel lex en 25 Julio 2016, 03:07 am
Por eso el hacking etico roza tan cerca el no etico/ilegal, hay que entender las trampas para evitarlas