Авторизация
 
  • 21:51 – Андронов - о скандале с Кокориным и Мамаевым: есть только два внятных сценария 
  • 21:50 – Кокорин и Мамаев должны понести наказание. И вовсе не за избитого чиновника 
  • 21:50 – «Важно не стоять на месте»: как Дюмин изменил правительство Тульской области 
  • 20:42 – Нурмагомедов – Макгрегор: никогда еще ММА так не смотрели по ТВ 

Спортивная одежда и обувь

Вычисляем точный адрес любого пользователя по номеру телефона или адресу электронной почты

Картинки по запросу Вычисляем точный адрес любого пользователя

С помощью этой инструкции вы сможете без труда вычислить точный адрес (улица, номер дома, номер квартиры) любого человека, который пользуется услугами интернет-провайдера InterZet (или DomRU).


Предыстория


8-го декабря 2017-го года была выпущена новая версия приложения для iOS. В ней обновили дизайн, поправили мелкие недоработки и т.д. и т.п. Скачав приложение на телефон, я столкнулся с проблемой: не получалось пройти процедуру аутентификации. Пытался вводить в поле логина и номер договора, и номер телефона, и почту – ничего не помогало, все попытки оканчивались фиаско.

image


Проблема наблюдалась только в приложении, сайт же работал (да и работает) безупречно – пускает меня полностью. Сообщение об ошибке не очень-то и информативно. Что же пошло не так?

Анализ трафика приложения


Для того, чтобы установить, почему же наш пациент не хочет жить, воспользуемся программой mitmproxy. Она позволит нам посмотреть коммуникацию между приложением и сервером.
Попробуем аутентифицироваться, чтобы получить запрос клиента и ответ сервера.

Судя по ответу, передается невалидный timestamp:

image


Взглянем на запрос:

image


В поле «timestamp$c» передаётся время отправления запроса. Не понимаю, зачем доверять клиенту в таких вопросах?

Решение проблемы


Разработчики не учли то, что люди используют разные форматы времени; timestamp формируется неправильно, если стоит 12-и часовой формат (как в моём случае), поэтому запрос не может пройти проверку на сервере. Меняем формат отображения времени в настройках телефона на 24-х часовой и успешно проходим аутентификацию. Отличие запросов лишь в том, что в 24-х часовом формате в timestamp нет AM/PM.

Корректный запрос выглядит так:

image


Вычисляем по номеру телефона или адресу электронной почты

Во время анализа трафика приложения на этапе аутентификации, я наткнулся на одну весьма интересную недоработку системы. Некорректное поведение функции «восстановить пароль». Она отдаёт очень интересную информацию.

Запрос выглядит следующим образом:

image


Нас интересует параметр "param_values_arr$c".

  • Если в нём передать номер договора пользователя услуг Interzet/DomRU, то мы получим привязанные к договору контактные данные: номер телефона, адрес электронной почты.
  • Если передать в нём номер телефона или адрес электронной почты, то в ответе мы увидим точный адрес пользователя.


Пример ответа:

image


Видим точный адрес своей квартиры, понимаем, что это фиаско, а так же улыбаемся и машем!

P.S: на сайте всё работает корректно, вроде бы, адрес звездочками закрывают :)

К слову, судя по ошибкам, которые выдаёт сервер в случае отсутствия пользователя в базе, на сервере включен режим отладки. Не понимаю, зачем?


Как повторить?

У каждого города, я подозреваю, своя БД и URL. Ниже приведен пример для города Санкт-Петербург.

Простой запрос через cURL:

curl "https://spb.db.ertelecom.ru/cgi-bin/ppo/es_webface/web_cabinet.get_info?param_names_arr%24c=client_contact¶m_values_arr%24c=habr@example.com¶ms=get_agr_list_contact_xml"


Меняем habr@example.com на необходимый номер телефона или адрес электронной почты.

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

Вся информация предоставлена исключительно в ознакомительных целях. Я не несу ответственность за любой возможный вред или ущерб, причиненный материалами данной статьи.

Источник

рейтинг: 
  • Не нравится
  • +20
  • Нравится
Оставить комментарий
  • Комментируют
  • Сегодня
  • Читаемое
Мы в соцсетях
  • Вконтакте
  • Facebook
  • Twitter