Форум сайта python.su
1
Мой скрипт отправляет форму post запросом, который я отснифал и подставил нужные мне значения:
post_form_data = { "subject": title_message, "message": text_message, "lt": "0", "auth[]": "966c85d5f6ba64b7c5edfe1daec4d34e", "auth[]": "3417c854bc70a3a34bc85bebda96e0b8", "mode": "newtopic", "f": "1", "it": "0", "topictype": "0", "post": "Отправить", "notify": "on", "poll_multiple": "0", "poll_cancel_vote": "0", "topic_calendar_day": "0", "topic_calendar_month": "0", "topic_calendar_year": "0", "create_event": "0", "calendar_d": "0", "poll_multiple": "0", "poll_cancel_vote": "0" }
Офлайн
1
Поспешил немного, это оказывается md5 хеш.
Но вопросы всё же остаются, как его воспроизвести? Я так понимаю шифруются какие то рандомные значения, как обойти этот auth?
Офлайн
857
ApxumekmopНу, он для аутентификации используется. Так программный клиент подтверждает, что он - это он, а не кто-то другой из другой сети. Клиенту через страницу даётся такой хеш, который формируется именно для него одного, и клиент в ответ должен посылать этот хеш, взятый из страницы. Чтобы не путать клиентов, для каждого нового клиента заводится уникальный набор данных, а потом эти данные используются для аутентификации. Но сами данные могут быть простыми, поэтому, чтобы их нельзя было угадать (экстраполировать) кому-то другому из другой сети, они скрываются путём генерации хеша по ним.
Я так понимаю шифруются какие то рандомные значения, как обойти этот auth?
Отредактировано py.user.next (Апрель 5, 2016 02:15:03)
Офлайн
1
py.user.nextА где именно этот хеш отловить?
Клиенту через страницу даётся такой хеш
Офлайн
568
ApxumekmopКогда юзер авторизуется на сайте он получает куку с определенным временем жизни, эту куку клиент впоследствии отправляет вместе с запросом.
А где именно этот хеш отловить?
Офлайн
1
Ну у меня всё сделано через requests.Session(), так что куки передаются или ты про то, что именно они хешируются в md5 и подставляются в auth?
Отредактировано Apxumekmop (Апрель 5, 2016 11:58:23)
Офлайн
568
Сессия - это просто какой-то более-менее длинный случайный идентификатор, который создается движком сайта после авторизации пользователя, записывается в БД и отправляется пользователю. То что выглядит как md5, это скорее всего и есть такой идентификатор. Далее с каждым запросом браузер должен отправить этот идентификатор в составе запроса.
Сервер по идентификатору определяет пользователя. Разумеется, здесь могут быть всевозможные нюансы конкретной реализации. Классический вариант - кука, но не обязательно, авторизация может происходит аджаксом, сессия может уходить в составе JSON-ответа или еще как-то.
Офлайн
1
Я в этой теме профан, поэтому вопросы весьма тупые 
При авторизации я поллучаю вот такие данные:
Pesponse headers:
Content-Length:0
Date:Tue, 05 Apr 2016 09:41:00 GMT
Location:http://mytest.forumy2x2.com/
P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie:fa_mytest_forumy2x2_com_data=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie:fa_mytest_forumy2x2_com_sid=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie:fa_mytest_forumy2x2_com_data=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.mytest.forumy2x2.com
Set-Cookie:fa_mytest_forumy2x2_com_sid=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.mytest.forumy2x2.com
Set-Cookie:fa_mytest_forumy2x2_com_data=a%3A3%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A64%3A%223695ae3ee87be15ef97b9334cd329c90b9e4dc5i3695ae37802f69315bb93b29%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%221%22%3Bs%3A5%3A%22posts%22%3Ba%3A2%3A%7Bs%3A6%3A%22number%22%3Bi%3A0%3Bs%3A4%3A%22last%22%3Bi%3A0%3B%7D%7D; expires=Wed, 05-Apr-2017 09:41:00 GMT; Max-Age=31536000; path=/; domain=mytest.forumy2x2.com
Set-Cookie:fa_mytest_forumy2x2_com_sid=ecd02ff13f22da0cb73f62a0d5f580dd; path=/; domain=mytest.forumy2x2.com
Офлайн
568
ApxumekmopНу так отснифайте запрос и сравните.
Т.е что то из этих данных используется потом, для aut?
Офлайн
1
FishHookСравнивал и ничего похожего не нашел
Ну так отснифайте запрос и сравните.
Офлайн