Предисловие
Сидя у друга в офисе заметил как он оплачивает интернет родственникам. Заходит в личный кабинет, оплачивает счет картой. Казалось бы, ничего необычного. За исключением того, что входя по номеру договора он использует этот номер и как логин и как пароль. Я незамедлительно спросил его об этом, и порекомендовал изменить пароль, что он тут же и сделал. Я тут же задумался. Следить за безопасностью собственных данных это прямая обязанность пользователя. Но он же не один такой. Наверняка из огромного количества пользователей этого провайдера есть те кто не меняет пароль. Более того, если это пожилые люди они могут даже не знать о нем. Ходят оплачивать интернет через терминал наличными, а у них все это время действует личный кабинет без какой либо защиты. Может быть провайдер как-то решает эту проблему? Стоит это проверить.
Экшен
Спросил номер договора у товарища. На его основе сначала вручную пробовал зайти в аккаунты пользователей постоянно прибавляя 1 к номеру. Успех: 20/20. Успешной считаем попытку если аккаунт существует и удалось войти в личный кабинет. Вот примеры скринов (личные данные пользователей скрыты).
Список тикетов:
Еще подключенные услуги с другого аккаунта:
Мне стало грустно. Может быть это потому что я использую адрес этого же провайдера? Может быть, если я подключусь из сети другого провайдера мне не дадут попасть в личный кабинет? Быстро настроил VPN в другой стране, пошел в сторону по убывающей от исходного номера. Успех: 9/10. Одного из аккаунтов не существует.
Впоследствии я написал простенькую программу которая:
- заходит в личный кабинет если он существует;
- если аккаунта не существует — оставляет соответствующую пометку в базе;
- сохраняет в базу соответствие ID, номера телефона и подключенных услуг;
- делает задержку в минуту;
- приступает к следующему пользователю.
Анализ
Успешность эксперимента: 82/100. Из 18 провальных попыток — 11 несуществующих аккаунтов, или аккаунты без подключенных услуг, 7 аккаунтов с нестандартными паролями.
Исходя из того что я увидел даже на данном этапе можно сделать следующие выводы:
- 82% выборки используют в качестве логина и пароля один и тот же символьный набор, который по совместительству является номером договора;
- форма входа никак не защищена от перебора аккаунтов. Я зашел в 82 разных аккаунта с одного и того же IP при 100 попытках суммарно;
- личный кабинет никак не защищен от попыток проникновения из другой сети;
- в форме входа нет никакой защиты от роботов.
Что можно сделать с полученными данными? У нас есть номер телефона клиента и список подключенных услуг. Если мы провайдер-конкурент, и к нам каким-то образом попали подобные данные — мы можем обзвонить полученные номера и предложить более выгодные условия. Если нет — у нас есть база телефонных номеров для обзвонов в принципе. Что бы мы не продавали/рекламировали/предлагали. Если мы злые шутники (ну, или нарушители закона) — мы можем поменять пароль, вызвать мастера, или отключить услугу. И это только навскидку, без особых размышлений. В любом случае, эту ситуацию можно использовать либо для личной выгоды либо для причинения вреда пользователям.
Послесловие
Базу я, как порядочный человек удалил. Код, исполняемые файлы и сервер с VPN тоже. Что читателю делать с полученной информацией — решит сам читатель, это будет на его совести. Я ни в коем случае не призываю повторять этот эксперимент, и каким-либо образом использовать полученные данные. Более того, я призываю всех провайдеров относиться к своим клиентам и к их данным со всей ответственностью.
А вообще, камон. У этого провайдера половина страны клиентов, а он использует по умолчанию номера договоров в качестве паролей. Используйте по умолчанию сложные пароли, прикрутите капчу на вход, сделайте элементарные проверки на перебор, запретите вход по номеру договора со всех IP кроме клиентского, неужели это так сложно?
А читателям рекомендую проверить свой личный кабинет и своего провайдера. В любом случае, не стоит забывать, что заботиться о сохранности собственных персональных данных должен сам пользователь, не стоит полагаться на кого-то другого.
Комментариев нет:
Отправить комментарий