Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Captcha. Loveplanet. Delphi (https://forum.antichat.xyz/showthread.php?t=190826)

GhostOnline 27.03.2010 16:32

Captcha. Loveplanet. Delphi
 
http://loveplanet.ru/a-register/
Если отключить яваскрипт в браузере то зарегится не получиться скрипт будет отвечать что неверно введена капча!
А я получаю страницу с помошью обычного TIdHTTP.
Вопрос: как заставить сайт думать что я работаю с обычного браузера?

Fliplab 27.03.2010 19:49

Тебе не легче делать просто пост запрос с готовыми данными + капча с сайта. В чём проблема? Я вот специально отключил Java и запросил ручками, всё прошло.

GhostOnline 27.03.2010 20:08

Легче конечно, но так не получается - коды не подходят.
Я даже сохранял капчу на диск, ставил бряк, в отладчике вбивал нужное значение и отсылал - и фиг :(
Отключать скрипты кстати надо перед загрузкой страницы регистрации а не перед посылкой запроса.

Мне главное узнать какая именно функция там срабатывает, а потом переложить на дельфи или прикрутить скрипт-контрол не проблема

Fliplab 27.03.2010 23:05

Правда? А я не знал...)
http://loveplanet.ru/a-register/?a=register&d=1&a_=45097&b_=19841&c_=614&somenums=
16452239011689798561&login=fliplab&password=vasya1 23&
password2=vasya123&email=fliplab%40yandex.ru&name= Vasya&bday=01&bmonth=04&byear=1986&bnotify0=on&
bnotify=on&pol=1&orient=1
&country=3159&region=4312&city=4400&pic=3843&condi tions=1

Такой Пост Делаешь?

GhostOnline 27.03.2010 23:08

Да, такой

Fliplab 27.03.2010 23:10

А referer выставляешь со страницы регистрации?

GhostOnline 27.03.2010 23:15

Referer: http://loveplanet.ru/a-register/

Фишка в том что и из браузера тоже не могу регнуться если отключаю яваскрипт

Fliplab 27.03.2010 23:16

http://loveplanet.ru/a-register/?a=geojson&fs=[OPTION1]_[OPTION2] - пост запрос с рефером с регистрации. Получение всех странн, городов и т.п. [OPTION1] принимает такие значения: cities - регион, stations - город. [OPTION2] - значения из country.

Здесь запросы ошибочны, смотрим дальше правильные.

Fliplab 27.03.2010 23:18

Там отправка идёт через Аякс. Час чёнить накопаю тебе))) Жди чуток

Deathdreams 27.03.2010 23:21

ТС, в хрумере смогли , значит возможно

Fliplab 27.03.2010 23:25

http://loveplanet.ru/?a=regcheck&f=login&v=[LOGIN] - получение информации о том зарегистрированн логин или нет. Вернёт 0 Пользователь с логином "[LOGIN]" уже существует. или 1 - если логин свободен.

http://loveplanet.ru/?a=regcheck&f=mail&v=[EMAIL] - проверка зарегистрированн ли такой e-mail в базе. Вернёт 0 Пользователь с e-mail "[EMAIL]" уже существует. или 1 - если такого e-mail в базе нет.

http://loveplanet.ru/?a=regcheck&f=name&v=[NAME] - проверка Имени. Если не верное, то вернёт 0 Поле "Имя" содержит номер телефона, или ICQ. - я ввёл цифры. Если правильное то вернёт 1 .

somenums - номер капчи

Кароче в конце страницы есть скрипт, он заменяет значения a_, b_, c_
Код:

<script language="JavaScript" type="text/javascript">
<!--
        document.getElementById('a_').value = 21605 + 1*774;  //22379
        document.getElementById('b_').value = 10913 + 2*(774+3); //12467
        document.getElementById('c_').value = 774 + 3 - 6; // 771
//-->
</script>

Не знаю каким макаром, но эти новые числа имеют плотную связь с капчей. Т.е. ты должен скрипт пропарсить и выполить выражения, далее передавать новые значения. Ещё по ходу, была замечена такая закономерность, что капча генерируется исходя из значения http://195.68.160.76/[SYMBOLS].gif.

Не забывай, куки отправлять. domhit = 1 и randomhit=цифирки

http://loveplanet.ru/?a=geo&fs=reg_[COUNTRU_NUMBER] - получает список областей и регионов, http://loveplanet.ru/?a=geo&fs=cities_[CITY_NUMBER] - получаем список городов.

На счёт определения включён ли JavaScript, есть такая гениальная вещь как <NOSCRIPT>Да у Вас же выключен JS... вебмастер в растеряности и не знает что вам показать</NOSCRIPT> :D Вот и там тоже всё просто проверка идёт как:
Код HTML:

<noscript><div id="no_script" class="warn">
        <b class="rnd_t"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
        <table cellspacing=0 cellpadding=0 align=center><tr>
                <td nowrap class="title">Внимание:</td>
                <td width="100%">В Вашем браузере отключено выполнение сценариев.<br> Сайт может работать Неправильно.</td>
        </tr></table>
        <b class="rnd_b"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b>
</div></noscript>


GhostOnline 27.03.2010 23:29

Я шлю эти запросы перед тем как регистрироваться

GhostOnline 27.03.2010 23:48

Так, кажется понял. При "правильном" запросе отправляется на одну куку больше.
Мб яваскрипт записывает куки в браузер и таким образом определяется включенность оного?

Цитата:

Не знаю каким макаром, но эти новые числа имеют плотную связь с капчей. Т.е. ты должен скрипт пропарсить и выполить выражения, далее передавать новые значения. Ещё по ходу, была замечена такая закономерность, что капча генерируется исходя из значения http://195.68.160.76/[SYMBOLS].gif.
В точку! В коде страницы уже есть эти параметры и их значечения я раньше их парсил и отправлял но видимо это обманка, те которые отправлются гененируются непосредствнно перед запросом!
Спасибо чувак, я правда еще не протестил но чувстую чт оздесь собака зарыта.

Все, получилось.

Fliplab 28.03.2010 03:27

Попробуй, сформировать запрос, а потом его прогнать с разнвми данными не изменяя sembols, a_,b_,c_. У меня такое ощущение, что регистрация пройдёт во всех случаях)))Как то глупо капча регится)))

GhostOnline 28.03.2010 04:20

Так не получится = )
Эти скрипты каждый раз разные:
Цитата:

document.getElementById('a_').value = 2147 + 1*546;
document.getElementById('b_').value = 18879 + 2*(546+3);
document.getElementById('c_').value = 546 + 3 - 6;

document.getElementById('a_').value = 34118 + 1*188;
document.getElementById('b_').value = 23414 + 2*(188+3);
document.getElementById('c_').value = 188 + 3 - 6;
Понял, попробую

Fliplab 28.03.2010 04:24

ты не понял меня, с одной страницы собери эти данные а запрашивай по ним, но изменяя лишь регистрационные данные, эти не трогай.

RedFern.89 28.03.2010 14:58

снифеером проверь)) может при загрузке страниццы нужные данные передаются))) или куки какие нить)) все надо тщательно проверить)

Fliplab 28.03.2010 17:38

Всё проблема то решена


Время: 12:51