Está en la página 1de 3

Cross Site Tracing (XST)

Cross Site Tracing - XST es una vulnerabilidad que se deriva de XSS y es generada por el mtodo HTTP TRACE que muestra las cookies que el navegador tiene para el dominio. El mtodo TRACE se utiliza principalmente para fines de depuracin, pero Jeremiah Grossman descubri en 2003 que se puede llegar a montar un ataque, que es conocido como XST. El mtodo HTTP TRACE. Este mtodo se utiliza/ba para debugging de los servidores Web y viene activado por defecto en muchos servers. Lo nico que hace es repetir toda informacin enviada por el cliente al server, es algo as como un echo. Un ejemplo del mtodo Trace sera como sigue: Cdigo: [Seleccionar]
$ nc 192.168.1.1 80 -vvv TRACE / HTTP/1.1 Host: prueba User-Agent: prueba HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Mon, 07 Dec 2009 17:07:16 GMT X-Powered-By: ASP.NET Content-Type: message/http Content-Length: 50 TRACE / HTTP/1.1 Host: prueba User-Agent: prueba

Como se observa, el servidor responde exactamente lo mismo que le enviamos en el pedido. La parte til para el ataque, es que si armamos un pedido HTTP TRACE desde el browser a una pgina en la cual se utilizan cookies, el servidor nos responder copiando las cookies de regreso. Por ejemplo, podramos obtener el siguiente comportamiento: Cdigo: [Seleccionar]
$ nc 192.168.1.1 80 -vvv TRACE / HTTP/1.1 Host: prueba Cookie: SID=13klj12jhlkjhdf09kasdn HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Mon, 07 Dec 2009 17:15:26 GMT X-Powered-By: ASP.NET Content-Type: message/http Content-Length: 73 TRACE / HTTP/1.1 Host: prueba Cookie: SID=13klj12jhlkjhdf09kasdn

Si podemos obtener la cookie enviada por el browser a travs de XSS, para qu necesitamos el mtodo TRACE? bueno resulta ser que hay casos en los que no es posible obtener las cookies utilizando Javascript (u otro lenguaje script ejecutado en el browser). En browsers como IE6 SP1 y posteriores o Firefox 2.0.0.5 y posteriores, existe una opcin de seguridad llamada HttpOnly cookies. Cuando un servidor web enva el parmetro HttpOnly dentro de las cookies, el browser no debera permitir que las cookies sean accesibles utilizando scripts como Javascript. Esto es, si la opcin HttpOnly est activada, una llamada a document.cookie nos devolver vaco, an cuando existan cookies. Utilizando esta propiedad se previene el robo de cookies explotando vulnerabilidades XSS, lo cual es muy bueno. Aca es donde entra en juego el XST. A travs de XST se pueden obtener cookies an cuando est activada la caracterstica HttpOnly. Si armamos un pedido HTTP TRACE desde el browser, ste incorporar la cookie como parte del header (la cual todava no podemos acceder). Ahora, cuando el servidor responda al pedido TRACE, ste incluir la cookie como parte de la respuesta. Cmo es posible armar un pedido HTTP TRACE utilizando Javascript? distintos browsers tienen distintos mtodos. Para ejemplificar, les dejo los mtodos usados por los dos browsers ms conocidos, IE y Firefox. Una forma de realizar este trabajo en Internet Explorer es utilizando el control ActiveX XMLHTTP. Un ejemplo de cmo utilizar esto para obtener cookies es el siguiente (tomado del paper CROSS-SITE TRACING (XST) de Jeremiah Grossman): Cdigo: [Seleccionar]
<script type="text/javascript"> <! function sendTrace () { var xmlHttp = new ActiveXObject(Microsoft.XMLHTTP); xmlHttp.open(TRACE, http://foo.bar,false);

xmlHttp.send(); xmlDoc=xmlHttp.responseText; alert(xmlDoc); } //> </script> <input onclick="sendTrace();" request="" trace="" type="BUTTON" value="Send" />

En firefox la funcin a utilizar es muy similar: Cdigo: [Seleccionar]


<script type=text/javascript> <! function sendTrace() { xhttp=new XMLHttpRequest(); xhttp.open(TRACE, http://foo.bar,false); xhttp.send(); xmlDoc=xhttp.responseXML; alert(xmlDoc); } //> </script> <INPUT TYPE=BUTTON onclick=sendTrace(); VALUE=Send Trace Request>

El uso de estas funciones tienen una restriccin: no permiten al browser conectarse a otro dominio que no sea el de la pgina que est mostrando. Pero esto igualmente no es problema para realizar el ataque.

También podría gustarte