Search
Write a publication
Pull to refresh

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.: Я убрал все упоминания сервиса и сайта, потому что достучаться до данной компании у меня так и не вышло. Если они пофиксят данную уязвимость, то дополню статью или оставлю в комментах сайт и название компании.

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.