elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  HtmlEntities SobrePasar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: HtmlEntities SobrePasar  (Leído 4,718 veces)
Garopa

Desconectado Desconectado

Mensajes: 10


Ver Perfil
HtmlEntities SobrePasar
« en: 22 Noviembre 2009, 20:54 pm »

Hola amigos de elhacker.net! Tengo 1 preguntita de seguridad que se me vinieron a la mente.


Estaba viendo el post de sobrepasar htmlentities, y me vino la duda de un par de cosas.

http://foro.elhacker.net/printpage.html;topic=251657.0



header('Content-Type: text/html; charset=UTF-7'); 
$texto = htmlentities($texto,ENT_QUOTES);     
$texto = "+ADw-script+AD4-alert(/XSS/)+ADsAPA-/script+AD4-";
echo $texto;


Si uno hace interpretar este script, devuelve un alert diciendo XSS.

Entonces pienso bueno en vez de UTF-7, pongo UTF-8 y listo. Solucionado!.

Pero agarre el programa Achilles ( Man in The middle) y lo que hize fue interceptar cuando estaba recibiendo el header que tenia el UTF-8 ( como content type) Se lo cambio a UTF-7, y ahi saltaba el XSS.

Ahora mi pregunta es como evito que me cambien la codificacion con un man in the iddle. Porque si ese mensaje se guarda en una base de datos despues cuando le de un echo a ese mensaje me va tirar el alert.

Hay alguna funcion en php que me diga la codificacion que se este usando en la web?
Cosa que si detecto que alguien modifico el UTF-7, le meto un die; ahi no mas.



Desde ya muchas gracias a todos :).











En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: HtmlEntities SobrePasar
« Respuesta #1 en: 22 Noviembre 2009, 21:03 pm »

El php se ejecuta en el servidor y no en el cliente asi que cuando el servidor devuelva la ejecución del php todavía no habrá actuado el MITM, por lo tanto desde php lo veo dificil.

Ahora si alguien te hace MITM no va a necesitar cambiarte la codificación para lanzarte ataques, basta con insertar código ejecutable en el cliente directamente.

[Servidor+PHP] <- [MITM] <- [Mi explorador]
[Servidor+PHP] -> [MITM] -> [Mi explorador]
En línea

Garopa

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: HtmlEntities SobrePasar
« Respuesta #2 en: 23 Noviembre 2009, 03:46 am »

Si yo pongo un sistema como fotolog y yo quiero que no haya HTML en ese comentario solo con

$texto = htmlentities($texto,ENT_QUOTES);    

estaria? o faltaria algo mas por seguridad?

Por que siempre hay alguno que te quiere inyectar html con &lt; y eso?

Ustedes con

$texto = htmlentities($texto,ENT_QUOTES);   

esta bien ya?
« Última modificación: 23 Noviembre 2009, 03:48 am por Garopa » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: HtmlEntities SobrePasar
« Respuesta #3 en: 23 Noviembre 2009, 04:57 am »

si, con htmlentities debería bastar pero para mayor seguridad siempre utilizo htmlspecialchars ya que esa función fue diseñada por php para escapar carácteres html como los que tu dices, aunque de todas formas htmlentities hace muy similar.

http://cl.php.net/htmlentities
http://cl.php.net/htmlspecialchars

Hacen practicamente lo mismo solo que cambian los tipos de codificaciones. Yo en lo personal prefiero htmlspecialchars y si usas cualquiera de los dos siempre debe ir con el ENT_QUOTES porque si no se lo pones entonces podrán insertar comillas simples y pueden inyectarse en código javascript o para escapar de tags que estén declarados con comillas simples en ves de dobles..

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sobrepasar Themida
Ingeniería Inversa
Fixxed 3 1,919 Último mensaje 6 Julio 2015, 02:14 am
por BloodSharp
[Aporte] htmlEntities() para javascript.
Desarrollo Web
@XSStringManolo 0 2,219 Último mensaje 16 Febrero 2020, 00:51 am
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines