 |

26.04.2023, 14:45
|
|
Новичок
Регистрация: 15.07.2018
Сообщений: 0
С нами:
4121094
Репутация:
0
|
|
Здравствуйте, друзья! Я рад представить вам авторский врайтап, который поможет раскрыть тайны таска "Клиент всегда прав / Веб" с платформы Игры Кодебай. Мы рассмотрим уязвимость XSS и научимся использовать её, чтобы получить Cookies администратора. Давайте начнем!
Заходим на страницу таска и смотрим:
Похоже на какой-то начинающийся блог. Попробуем нажать на одну из публикаций:
Нас перенаправило на /?publication=jupiter и отобразилась соответствующая публикация. На главной странице вроде было поле для поиска. Вернемся назад и поэкспериментируем с ним.
Попробуем найти публикацию по ключевому слову.
Окей, поиск у нас работает. Проверим, уязвимо ли поле для поиска к XSS-атаке. Почему к XSS? Поле для поиска и название "Клиент всегда прав" внушают нам, что это исключительно XSS. Но, на практике конечно же нельзя доверять таким факторам и надо проверять ресурс на все типы атак.
Передадим самый элементарный пейлоад
в поле для поиска.
Отлично. У нас есть reflected XSS (она же "пассивная XSS" или "отраженная XSS"). Т.е. наш JS-пейлоад не будет нигде сохраняться, но, за то мы сможем передать ссылку с ресурсом, где страница берет данные из адресной строки (в нашем случае, это пейлоад) и отображается на странице.
Таким способом, при наличии XSS-уязвимости, при переходе по ссылке в браузере жертвы выполнится JS-код. Что он будет делать, зависит от вашей фантазии. Идем дальше.
На главной странице напротив каждой публикации у нас так же есть кнопка для репорта. Посмотрим, как она работает.
В адресной строке мы видим, что в качестве репорта отправляется полная ссылка на публикацию. А что, если мы изменим ссылку репорта на свой, где у нас будет ссылка на страницу для поиска с готовым пейлоадом? Наша цель - украсть кукисы админа. Подготовим такой пейлоад, после которого пользователь не заподозрит ничего. То есть, наш пейлоад не будет никуда перенаправлять пользователя, а просто с помощью JS создаст на странице элемент картинки, которая и поможет нам получить кукисы.
Наш пейлоад -
. В итоге у нас будет ссылка
Код:
http://62.173.140.174:16013/?search=document.write('')
, которую мы должны отправить в качестве ссылки для репорта. Но, просто взять пейлоад и отправить не получится. Оставлю вам работу с кодированием пейлоада таким образом, чтобы она у нас сработала.
Отправляем репорт с нашей ссылкой на страницу поиска, где у нас вбит пейлоад, который сворует кукисы.
Репорт отправлен. Теперь посмотрим в наш сниффер.
Бинго! У нас есть флаг.
Всем спасибо за внимание.
|
|
|

26.04.2023, 19:23
|
|
Новичок
Регистрация: 20.02.2022
Сообщений: 0
С нами:
2226531
Репутация:
0
|
|
Можно ещё использовать webhook, но по сути один и тот же функционал =)
И даже "+" не нужно было инкодить? Интересный вариант решения!
|
|
|

26.04.2023, 19:33
|
|
Новичок
Регистрация: 15.07.2018
Сообщений: 0
С нами:
4121094
Репутация:
0
|
|
D3L1F3R сказал(а):
Можно ещё использовать webhook, но по сути один и тот же функционал =)
И даже "+" не нужно было инкодить? Интересный вариант решения!
Вариантов много. Я привёл в качестве примера самый базовый.
|
|
|

01.06.2023, 11:44
|
|
Новичок
Регистрация: 25.11.2022
Сообщений: 0
С нами:
1826757
Репутация:
0
|
|
Спасибо
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|