Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В конце 2023 года я участвовал в программе багбаунти одной крупной российской компании. Комбинируя логические ошибки, я смог проэксплуатировать баг, который позволяет захватить любой аккаунт. В этой статье я расскажу, как проходило исследование и какие трюки мне помогли добиться результата.
К сожалению, я не получил согласие на разглашение от компании, однако уязвимость уже устранена. Так что опишу ход тестирования, не называя заказчика.
Pentest Award
Этот текст получил премию Pentest Award 2024 в категории Hack the logic, посвященной поиску логических уязвимостей. Это соревнование ежегодно проводится компанией Awillix.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
При изучении сервиса я нашел несколько интересных аномалий:
Получается, что если у почтового адреса есть близнец, то владелец такой почты потенциально сможет подделать токен другого пользователя и получить сессию от его имени.
Первым делом нужно было понять, что произойдет, если будет существовать несколько email-близнецов с символами в разных регистрах и мы попробуем использовать их для логина.
Чтобы разобраться, что происходит на бэкенде сервиса, я создал два аккаунта и email второго поменял на email первого через баг в настройке профиля, предварительно изменив регистр некоторых букв. При этом пароли у аккаунтов были разными.
При попытке войти с данными первого пользователя (того, который был зарегистрирован раньше) мы успешно попадаем в его аккаунт. Если же использовать данные второго пользователя, получаем ошибку Invalid Credentials.
Источник: xakep.ru