Ростелеком, личный кабинет, как узнать свой баланс скриптом?
Где-то до января 2021 года баланс Ростелекома можно было узнать, авторизовавшись через CURL в их личном кабинете, и распарсерив ответ.
После , они сделали авторизацию через запрос к KeyCloak (сторонний сервис авторизации), а т.к. авторизация происходит методом межсервисного редиректа (во всяком случае мое реверс-исследование показало именно это) + форма авторизации полностью строится обфусцированным JS-ом, то сделать это через CURL очень не просто.
Понятно, что все это можно решить через headless-браузер.
Но, может быть, у кого-то есть обходной путь, чтобы сделать это без него?
P.S. думал, что их приложение обращается к какому-то АПИ - но нет - там просто веб-приложение - тот-же сайт.
P.P.S. вот так вот в 21 году - крупнейший провайдер не имеет у себя апи чтобы получить свой собственный баланс и приходится писать костыли, служба поддержки что физиков, что юриков ответила "не предвидится, вам это не нужно" :/
Их цель понятна: поиметь профит в виде живого прохода клиента по информационным страницам. А на информационных страницах по пути к желаемому клиент увидит рекламу/оповещения. В том числе клиент посмотрев баланс потом не отвертится что его не уведомили о повышении тарифов например.
Так что с их точки зрения давать клиенту api - зло.
Деобфусцировать и разобрать в лоб можно, но это слишком затратно по ресурсам, а зная, как РТ часто меняет стэк - это еще и бессмысленно.
Ну и кроме того, "извращаться с интерпретацией JS-а" на ходу, можно только, если ты под нодой. Не, можно, конечно, на любом языке свой интерпретатор написать :)
Вопрос был не про это, правда?
Решение в лоб никому не нужно, но понятно, что оно есть.
Раньше у РТ был виджет с балансом, у него был спец-урл - и это было удобно. Потом его "отменили", может сейчас есть что-то подобное, может уязвимость есть какая, через которую можно.
Вопрос был не про это, правда?
Решение в лоб никому не нужно, но понятно, что оно есть.
Раньше у РТ был виджет с балансом, у него был спец-урл - и это было удобно. Потом его "отменили", может сейчас есть что-то подобное, может уязвимость есть какая, через которую можно.
а какой ты ждешь обходной путь? надеешься, что кто-то ради этого пентестил всю их торчащую наружу инфраструктуру и вытащил себе юрл для стягивания баланса?) еще и на тостере ищешь такого человека?)) и ты думаешь такая дыра проживет дольше, чем "РТ часто меняет стэк"?))) самому не смешно?))
Ну и кроме того, "извращаться с интерпретацией JS-а" на ходу, можно только, если ты под нодой. Не, можно, конечно, на любом языке свой интерпретатор написать :)
я тебе дал не в лоб варианты, а все, за исключением тех, которые назвал ты сам
(ну и исключив конечно возможность твоей невнимательности, ты ведь я уверен полностью проверил все простые способы сам)
люди всегда хотят верить в чудеса, однако забывают, что их нет
Отвечу пока сам, что сделал - поднял на Raspberry Debian + Node + Puppeteer + Chrome, написал скрипт парсинга.
Теоретически это все можно проделать под VDS, но если не часто и больше задач нет - лучше на своем железе - нет абонентской платы (кроме электричества) :)
Стоимость малинки с корпусом с пассивным охлаждением около 60$.
Стоимость нормального VDS-а от 2.15$. Кому что выгодней - можно посчитать.