ReportHackerOne - XSS
wr3dmast3r|RA
Всем привет! С Вами wr3dmast3r, и сегодня мы разберём один из репортов с известного ресурса.
Сегодняшняя уязвимость связана с XSS и кражей cookies.
Характеристика уязвимости
Disclosed - October 31, 2022 8:04am +0400
Severity - High (7 ~ 8.9)
Weakness - Cross-site Scripting (XSS) - Stored
Bounty - $2,500
Теоретическая часть
На сайте не было проверки URL-адреса, предоставленного для ссылки SocialIcon, и это позволило включить javascript uri. Поскольку файлы cookie были помечены как httponly, их было невозможно украсть напрямую через xss, поэтому вместо xss была найденная другая точка входа, в которой происходила утечка accessToken, используемого для аутентификации.
Final POC
javascript://https://amazon.com/shop/x%0Aeval(\"(async()=>{await+fetch('https://linktr.ee/api/token').then((response)=>response.json()).then((responseJson)=>{alert(responseJson['accessToken']);})})()\")
Эксплуатация
У нас есть тестовая страница с пользователем, такая страница есть у каждого пользователя на сайте.

В кнопку на странице встроена xss.

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

Авторизуемся под своим аккаунтом.

Меняем токен авторизации.

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

На этом будем заканчивать, до новых встреч, с любовью от RESOLUTE ATTACK!