Un fallo en Internet Explorer permite ataques de XSS

Según informa Imperva en su blog, un bug en IE puede permitir a un atacante realizar ataques de tipo XSS no persistentes (reflected).

El fallo consiste fundamentalmente en que el navegador de Microsoft no codifica correctamente las dobles comillas (") dentro de una dirección o URI de una query. Algunos sitios web pueden asumir que la URI de la solicitud está correctamente codificada por el navegador e incrustada "tal cual" en la respuesta HTML. Sin embargo, si las comillas dobles no están debidamente codificadas por el IE, se podría realizar un ataque XSS que afectara a los usuarios de IE. Este comportamiento no cumple el RFC 3986 que si implementan otros navegadores como Chrome o Firefox.

Veamoslo con un ejemplo. Si se escribe la siguiente URI en la barra de direcciones del Internet Explorer:

http://example.com/Sea"rch.asp?q"="b"

la petición será traducida correctamente:

GET /Sea%22rch.asp?q"="b"

Pero ahora supongamos que el sitio web tiene embebida la petición en el código fuente. Por ej. para cargar una URL como parámetro para mostrar una imágen:

out.println(" <1mg src=\"http://www.example.com/pic.asp?ref=" + request.getRequestURL() + "?" + request.getQueryString() +"\">");

Imaginemos que un atacante crea un XSS reflejado para convencer a la víctima a seguir el siguiente enlace:

hxxp://vulnerablesite.com/vulnerablepage.jsp?"onmouseover=alert(1)//

Entonces, en IE, la víctima tendrá el siguiente HTML:

<1mg src="http://www.example.com/pic.asp?ref=hxxp://vulnerablesite.com/vulnerablepage.jsp?"onmouseover=alert(1)//">

y el javascript se ejecutará en su máquina.

Aunque Microsoft ha respondido que no considera este fallo una vulnerabilidad y que NO se tratará en una actualización de seguridad, Imperva insiste que actualmente existen numerosas aplicaciones web vulnerables en Internet por lo que la amenaza es real y no teórica, se están reportando problemas de XSS sólo para usuarios de IE y la vulnerabilidad se está empezando a notar en sitios como XSSed.com.

Comentarios