jueves, 28 de octubre de 2010

Un informático en el lado del mal - Un XSS en Tuenti que permitía hacer hijacking


Existía un fallo de Cross-Site Scripting (XSS) en la web de tuenti dentro del módulo de reto de juegos a través del chat con el que se podían realizar ataques de Hijacking para robarle la cookie de sesión, y por tanto la cuenta a los usuarios con que estuvieras chateando. Como nosotros somos tipos buenos, les avisamos y nos invitaron a tomar un bonito café en sus instalaciones para que se lo contasemos. Tras una rápida reunión, que esto es bastante sencillo de entender, lo arreglaron. Como ya está resuelto, os dejamos aquí la explicación del fallo que tenía.

XSS en Tuenti

Tuenti dispone de un sistema de juegos entre usuarios, los cuales pueden ‘retarse’ a través de un sistema de chat, como se ve en la siguiente captura donde un usuario reta a otro a jugar a ‘Poolstastic’.


Figura 1: Reto de juegos por chat

Para la explotación de esta vulnerabilidad utilizaremos el navegador Chrome, debido a que permite la modificación del código en runtime. Para ello debemos expandir el menú de juegos, seleccionar uno, en este ejemplo Poolstastic, y hacer botón derecho sobre el botón jugar, pulsando posteriormente sobre ‘Inspeccionar elemento’.


Figura 2: Inspeccionar elemento

Analizando el código, vemos que el botón ‘Jugar’ contiene un atributo llamado ‘gamename’ el cual almacena el nombre del juego al cual se quiere retar.


Figura 3: Nombre del juego en el elemento

Si existe la posibilidad de modificar el nombre del juego, nos permitirá realizar la inclusión de código javascript en el dominio de tuenti.com, pudiendo de este podo tomar el control total de la cuenta a atacar. Para probarlo modificaremos el atributo gamename inyectando el siguiente código:

[div style='top:0px;left:0px;height:100%;position:fixed;width:100%;'
onmouseover='alert(document.cookie);'[/div]”



Figura 4: Inyección de XSS en el atributo nombre

En cuanto el usuario atacado reciba el mensaje, se le ejecutará dicho código javascript, mostrando en este caso su cookie por pantalla.


Figura 5: Ejecución de código XSS sin interacción con el usuario

Esta prueba de concepto, que descubrió el gran Manu "The Sur", permitía tomar el control total de la cuenta. El resto era sencillo, inyectar un código que capture la cookie de sesión, la envíe a un servidor controlado, ponerte la cookie robada y acceder a la cuenta logeada del usuario. Un Hijacking clásico. Por suerte para todos, la gente de Tuenti, que se portó muy bien con nosotros, arregló ya este fallo.

Saludos Malignos!


No hay comentarios:

Publicar un comentario