Получил мой друг root-права на Android планшете и, дабы насладиться новыми возможностями и проверить их, установил он себе Intercepter-NG. После этого начал слушать Wi-Fi сеть. Не буду уточнять, что за сеть и где она находится.
В куче всего, что происходило в сети, он наткнулся на кое-что интересное. Один из людей, подключившихся к сети, пытался восстановить забытый пароль от vk.com. Мой друг решил посмотреть, что там происходит.
А происходит там следующее. После ввода логина/номера телефона/почты этому человеку присылается на телефон код подтверждения — мы его вводим на сайте, а далее открывается окно ввода нового пароля. После того, как мы ввели новый пароль и жмём “Изменить”, начинается самое интересное. Логин и пароль отправляются в открытом виде в POST запросе, который и увидел мой друг слушая нашу Wi-Fi сеть.
Мы решили проверить набрать скринов для статьи и повторили ситуацию. На скриншоте выше результат нашего теста, просто хотелось показать его в самом Intercepter-NG, а на скриншоте ниже мы видим всё тоже самое, только уже в нашем браузере.
В тот же вечер я об этом написал в службу поддержки. Моя переписка с ней ниже.
Хоть они и не «спасибо», я решил проверить, а правда ли они исправили эту уязвимость. Зашёл на страницу сброса пароля, открыл консоль и решил проверить, что произойдёт после ввода нового пароля. Результат оказался плачевным.
И я снова увидел новый пароль и логин отсылаются в параметрах всё того же скрипта, так же в открытом виде.
Итого
Нами была обнаружена уязвимость в восстановлении пароля в ВК. Мы об этом сообщили в службу поддержки, нам сказали что всё исправлено, но как мы видим, это не так.
Любой желающий может послушать ваш трафик и стащить связку логина и пароля, когда вы пытаетесь сбросить свой пароль. Можете проверить это у себя дома.
P.S. Это моя первая статья, замечания, исправления и указания на ошибки приветствуются.
P.P.S. В написании статьи помог dharmarex.
Автор: Umed