XSS por todos lados!
Ufff hace tiempo que no publico news, más que nada porque existen muchos sites de news. Pero esta vez encontré varias noticias juntas relacionadas a un mismo tema y que justamente es uno de mis fuertes en hacking web, es decir, el XSS!
Si bien estas news ya no son tan news (algunas datan de hace un mes), me pareció interesante comentarlas.

Por un lado me encuentro con dos ataques bastante "locos". El otro día leo un artículo donde un usuario utilizaba las imágenes JPEG para realizar XSS! sisisi, no se refrieguen los ojos, leyeron bien, archivos JPEG!!!
Cómo es esto posible? gracias a la magia de la Web (3.0?). En Firefox 3.6 se implementó la File API diseñada por la W3C para permitir a los desarrolladores acceder a los archivos como objetos, seleccionándolos y accediendo a sus datos.
El caso que expone Michael en su blog es un parser Exif que permite acceder a los metadatos de una imagen. Michael presupone (acertadamente) que el programador seguramente lee los metadatos y no los valida, utilizándolos directamente en la página... como siempre recalco en el blog: ERROR!, nunca se debe confiar en los datos ingresados por un usuario!
Michael simplemente agrega un iframe apuntando a otro site en los comentarios de una imagen y luego la carga en la aplicación Web. Cuando la aplicación lee los datos y los muestra: BAM! XSS!

Unos días después de leer este artículo, Emiliano me comenta sobre éste otro artículo, donde muestran justamente qué otras cosas se pueden hacer con meta-información leída y mostrada sin previa validación. El artículo habla sobre un paper donde describen el ataque llamándolo miXSS. Si bien el paper no parece hablar de nada nuevo (ya había leído otro paper que trata este tipo de ataques), resulta interesante citar el ejemplo que expone.
Básicamente cualquier herramienta que utilice el formato Web para mostrar los resultados es susceptible a XSS. El ejemplo del caso viene dado por las herramientas de consulta DNS. Existen varias páginas que permiten a un usuario realizar una consulta a un servidor de DNS. Ahora, qué pasa si un usuario malicioso coloca en su servidor de DNS un registro TXT que contenga un tag del estilo <script>alert('xss');</script>? cuando la herramienta muestre el resultado en su página BAM! XSS!

Luego de esto, hace un par de días me encuentro con una de las tantas contradicciones graciosas de Microsoft. El título de la vulnerabilidad es gracioso en si por la contradicción que supone: "Microsoft Internet Explorer 8 Cross-Site Scripting Filter Cross-Site Scripting Vulnerability". Osea, el filtro XSS diseñado para filtrar XSS tiene una vulnerabilidad de XSS!!! Esto es, una página que tal vez no es vulnerable a XSS, gracias al filtro de IE8, ahora sí lo es! una locura!
Si bien esta no es la primer vulnerabilidad que se presenta en el "filtro", siempre es gracioso (y triste) encontrar una nueva.
No encontré detalles sobre cómo realizar el ataque, pero al parecer en el último Black Hat Europe demostraron cómo hacerlo.

Ya que estoy agrego una referencia a un demo que publicó RSnake en su página hace ya un par de meses. RSnake demostró cómo es posible robar las contraseñas almacenadas en Firefox (utilidad "recordar contraseña") utilizando XSS. Pueden hecharle un vistazo aquí.

Para finalizar, una vez más quiero remarcar el peligro que representa el XSS, porque muchos aún siguen subestimándolo. Si te parece que el XSS no representa un gran peligro, preguntale a la gente de apache.org! Hace unos días la página apache.org fue hackeada (nuevamente), y esta vez utilizando XSS!

También es importante remarcar que nadie está a salvo. Esto lo demostró Nir Goldshlager quien descubrió bugs XSS en Twitter, Google Calendar y más recientemente en PayPal! Imaginense XSS en PayPal, cuánto dinero en riesgo!

0 comentarios:

Publicar un comentario