Как стать автором
Обновить

Open redirect и захват аккаунта

Однажды лазил по сервисам на которых не редко зависаю, и наткнулся на один из них, в котором используется авторизация через стим.


При обращении к данному способу происходил переход на страницу стим с ожиданием подтверждения


image


Но на мгновение промелькнула посредническая ссылка, она то меня и заинтересовала.
Она была вида:


https://api.***.com/oauth/out/steam?url=https://my.***.com/other-settings


Воодушевившись возможной уязвимостью, я вставил google.com в поле url, и, о чудо, оно перешло на google. Опробовав несколько других сайтов, стало понятно, что редирект происходит на любой из них, но только после авторизации в стиме.
Далее заметил, что к url стал приписываться токен. Залив на бесплатных хостинг страничку с обычным скриптом, что показывает значение uri, получилось отобразить данный токен явно


image


Токен был закодирован в base64, но его расшифровка ничего не дала, кроме того, что были использованы соли


image


Стало очевидно, что данный токен используется для авторизации пользователя.
Воспользовавшись xssHunter-ом и другом, удалось получить токен не от моего аккаунта а от другого, это нужно было для дальнейших тестов. Так же был перехвачен загловок referer в котором была вся информация о стим аккаунте, через который был выполнен вход


image


При помощи BurpSuit и токена от своего аккаунта, перехватил запросы при авторизации после страницы стима, и обнаружил интересный post запрос, он происходил на
https://api.***.com/acct/decryptToken
И возвращал расшифрованный токен


image


Следующие запросы происходили на


https://api.***.com/acct/info
https://api.***.com/acct/transactions

Которые просили для себя уже расшифрованный токен, и отображали данные аккаунта и произведенные транзакции


image


image


Все тоже самое я проделал с токеном от аккаунта моего друга, и получил всю необходимую информацию.


image


image


image


Так же смог войти под ним, просто подменив токен и расшифрованный токен при авторизации.


Через пару дней я решил узнать работает ли еще данная уязвимость, но забыл сменить старый токен в запросе. И не описать как я был удивлен, когда обнаружил, что данные до сих пор отдаются, то есть токен вечный, и, скорее всего, никогда не протухает. Что так же является серьезной уязвимостью.


P.S.: Я убрал все упоминания сервиса и сайта, потому что достучаться до данной компании у меня так и не вышло. Если они пофиксят данную уязвимость, то дополню статью или оставлю в комментах сайт и название компании.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.