sábado, 13 de abril de 2013

XSS en Tuenti. Capitulo 5: Mensajes Privados.

Muy buenas a todos! Hace muchisimo que no escribo.. Perdonad por dejar abandonadillo el blog.. espero ir escribiendo mas a menudo ! :)

Hoy os voy a hablar de un nuevo XSS en Tuenti! Empezamos!

La vulnerabilidad XSS a tratar se encuentra en el sistema de Mensajes
Privados.
Como bien sabemos los los mensajes privados permiten añadir enlaces a otras
webs. Si aprovechamos esta funcionalidad podemos obtener una vulnerabilidad
del tipo XSS. Como se puede ver en la imagen de abajo podemos ejecutar
código malicioso usando el siguiente vector de ataque:

http://cualquierDominio/algoPorAqui"onmouseover="alert(/XSS/);"


Como vemos usamos las comillas para cerrar la propiedad “href” y a
continuación poder añadir el código malicioso deseado..
Puede parecer una vulnerabilidad no muy peligrosa, pero como ya se vio en el
XSS en MySpace (http://elladodelnovato.blogspot.com.es/2013/01/vulnerabilidad-xss-en-el-nuevo-myspace.html) pueden modificarse los estilos del enlace usando la propiedad “style” para
modificar el texto y colocarlo al comienzo, con una letra mucho mas grande y
transparente, de manera que sea mucho mas fácil que el usuario pase por
encima del enlace, sin darse ni cuenta.

Además tenemos una restricción, si en algún momento colocamos un espacio,
la url se corta y el sistema no lo añade al enlace, por lo que hay que poner todo
seguido, sin espacios. Aunque esto no debería ser un gran problema :)

Esta vulnerabilidad la he encontrado hoy mismo! He enviado un email informando del problema y no he recibido respueta, aunque si que han reparado ya la vulnerabilidad.. Así que desde aquí decir que me ha encantado su forma de agradecer, y no solo eso, sino que me parece lamentable que ni siquiera hayan respondido para decir que iban a mirarlo..

Así que un poco enfadado he decidido no solo publicarlo ya (ya que esta "solucionado"), sino publicar la forma de volver a explotar el XSS, ya que esta arreglado de forma CHAPUCERA..

Lo único que hay que hacer es usar el mismo vector pero con la siguiente modificación:

http://cualquierDominio/algoPorAqui"onmouseover=alert(/XSS/)//
Como vemos ahora la propiedad "href" no es la que falla, sino que es la propiedad "data-on-click-label" , que además nos añade una dificultad (por la cual tenemos que añadir las "//" al final de nuestro vector de ataque), esta dificultad como podéis ver es que nos deja las comillas de cierre de la propiedad.. Como veis, poniendo las dos barritas (//) evitamos que no se ejecute el javascript por error.. ya que lo que hacemos es usar las barritas para que tome como comentario las comillas y no haya errores. Y ya tenemos nuestro XSS funcionando de nuevo! ;)

Me parece muy lamentable que no hayan comprobado que se filtraba bien y que no había otra propiedad que fallaba..

ACTUALIZACIÓN: Acabo de recibir un email de respuesta de un trabajador de Tuenti agradeciendo la colaboración y explicandome lo ocurrido.. Debo decir que por una parte comprendo que no respondiesen, ya que era sábado por la mañana.. es más, pensé que ni siquiera lo arreglarían y pensaba no publicarlo hasta el martes para darles tiempo, pues entendía que siendo fin de semana sería más complicado. Pero sigo pensando que si se preocuparon de arreglarlo también podrían haber enviado un email en el que simplemente informasen de que iban a mirarlo, no pido nada mas.. Para yo saber si realmente les ha llegado el email (ya me ha pasado en otra ocasión que no les llegó). Así que entiendo que en fin de semana estuviesen justos de tiempo y tal, pero si te pones arreglarlo lo primero (en mi opinión) es arreglarlo bien, no a medias.. y avisar de que has recibido el email y vas a mirarlo.. En todo caso, decir que me parece bien que hayan sacado tiempo para arreglarlo antes que nada, preocupandose de la seguridad de sus usuarios.

Espero volver pronto a escribir una nueva entrada y no volver a dejar abandonado el blog!! Un saludo y hasta la proxima!! :)