Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2017 09:50:19

yar1k
Зарегистрирован: 2017-04-20
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация на сайте, не срабатывает редирект.

Добрый день. Пытаюсь авторизоваться в личном кабинете билайн:

 import lxml.html
import requests
 
login = '90XXXXXXXX'
password = 'password'
url = 'https://stavropol.beeline.ru/login/'
lk = 'https://stavropolskiy-kr.beeline.ru/customers/products/mobile/profile/'
 
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.0; rv:14.0) Gecko/20100101 Firefox/14.0.1',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language':'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
    'Accept-Encoding':'gzip, deflate',
    'Connection':'keep-alive',
    'DNT':'1'
}
session = requests.session()
data = session.get(url, headers=headers).content
 
page = lxml.html.fromstring(data)
form = page.forms[3]
form.fields['login'] = login
form.fields['password'] = password
response = session.post(form.action, data=form.form_values())
print(response.url)
final = session.get(response.url, allow_redirects=True)
print(final.url)

принт выводит URL с уникальным ключом и прочей доп. информацией, такую же картину вижу и при авторизации в браузере:
 https://identity.beeline.ru/identity/connect/authorize?scope=openid%20selfservice_identity%20usss_token%20profile&response_type=id_token&client_id=quantumartapp&state=c5206c79522e49048e9f7d20066bb2f8&nonce=fcba28d8071946ac8c831f904aa96b0e&response_mode=form_post&acr_values=fpcc-password%3AEAAAAEIbfGza8MKSPcdFKhjFF9xDe0fdR2fIHCE6LNFb2R45%20fpcc-remember_me%3AFalse%20one_time_password%3AFalse&login_hint=90XXXXXXXX&redirect_uri=https%3A%2F%2Fwww.beeline.ru%2Flogincallback

Но при работе в браузере(chome, ff) после данного URL идет редирект на указанную в конце страницу: https://www.beeline.ru/logincallback, а после нее уже непосредственно в личный кабинет:
https://stavropolskiy-kr.beeline.ru/customers/products/mobile/profile/

Вопрос в том, почему при get запросе мне в final.url выдает всё тот же response.url?



Офлайн

#2 Апрель 20, 2017 10:15:00

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Авторизация на сайте, не срабатывает редирект.

Надо в браузере посмотреть, какой обмен происходит. Часто через referer такая информация передаётся (что ты заходил туда-то). Поэтому поставь сниффер заголовков на браузер (расширение) и посмотри, какие заголовки пересылаются.



Офлайн

#3 Апрель 20, 2017 11:13:33

yar1k
Зарегистрирован: 2017-04-20
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация на сайте, не срабатывает редирект.

py.user.next
Я пробовал сниферить wireshark`ом, но трафик зашифрованный. Пробовал запускать dev-консоль в браузере, там черт ногу сломит. API у билайн к личному кабинету нет
Попробую расширения, спасибо.

Офлайн

#4 Апрель 20, 2017 11:41:35

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Авторизация на сайте, не срабатывает редирект.

yar1k
Я пробовал сниферить wireshark`ом, но трафик зашифрованный.
Да, сейчас он бесполезен практически стал. Там можно расшифровать трафик, но это не один день разбираться. А расширений браузера вполне хватает. Надо отловить только основные моменты. Вот у тебя заголовки написаны, их можно не писать так, проверяется обычно только user-agent и referer.



Офлайн

#5 Апрель 20, 2017 20:32:26

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Авторизация на сайте, не срабатывает редирект.

Проделываем то-же самое с my.tele2.ru и получаем на выходе вот такую ссылку:
https://login.tele2.ru/ssotele2/wap/profile?baseUrl=https://login.tele2.ru:443/ssotele2
И если перейти по ней в браузере, то получим занятную формочку:

Где нижняя ссылка выглядит вот так https://login.tele2.ru/ssotele2/wap/auth?serviceId=341&returnUrl=https://my.tele2.ru/, но ведет в: https://my.tele2.ru/?key=оченьмногоРАЗНЫХбуквоцифр
Вот и возникает вопрос: Как вытянуть сей KEY?



 import __hello__

Отредактировано delvin-fil (Апрель 20, 2017 20:33:07)

Офлайн

#6 Апрель 24, 2017 15:29:02

yar1k
Зарегистрирован: 2017-04-20
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Авторизация на сайте, не срабатывает редирект.

delvin-fil
Проделываем то-же самое с my.tele2.ru и получаем на выходе вот такую ссылку:https://login.tele2.ru/ssotele2/wap/profile?baseUrl=https://login.tele2.ru:443/ssotele2И если перейти по ней в браузере, то получим занятную формочку: Где нижняя ссылка выглядит вот так https://login.tele2.ru/ssotele2/wap/auth?serviceId=341&returnUrl=https://my.tele2.ru/, но ведет в: https://my.tele2.ru/?key=оченьмногоРАЗНЫХбуквоцифрВот и возникает вопрос: Как вытянуть сей KEY?
Распарсить (response.txt)

Офлайн

#7 Апрель 25, 2017 10:47:55

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Авторизация на сайте, не срабатывает редирект.

yar1k
response.txt
Что-то я не нашел его
Адрес не подскажете?



 import __hello__

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version