Hackerlab Codeby Games - Физический доступ (WriteUp)

Решение таска
Достаточно простой таск, но заставляет подумать. В этом решении нам снова понадобится Burp.
Прочитав описание раза 3, я понял что нужно как-то отправить запрос с локалхоста, и начал городить что-то типо http://http://62.173.140.174:16055/admin.php?url=http://127.0.0.1:16055/admin.php и тому подобное.

Затем я скачал расширение для браузера и начал туда прописывать локалхост, прекрасно понимая что вряд ли это сработает.
Наконец, я помощью google я нашёл такую и узнал о XFF или же X-Forwarded-For.
Добавив его в запрос в виде X-Forwarded-For: 127.0.0.1 всё получилось.
3123.png
 
Последнее редактирование модератором:
Было бы здорово описать не порядок действий, а логику и ошибки на стороне сервера
Почему это возможно, какие настройки были неверными и как это можно было предотвратить
 
  • Нравится
Реакции: N1GGA и Menschenfresser
Было бы здорово описать не порядок действий, а логику и ошибки на стороне сервера
Почему это возможно, какие настройки были неверными и как это можно было предотвратить
Привет)

По сути автор все уэе объяснил. Но для удобства разложу по полочкам:

1. На целевом сервере установлен WAF
2. WAF блокирует любые параметры, передаваемые в URL. Может показаться, будто он все фильтрует и реджектит, но на самом деле фаер проверяет только source_ip - т.е. ОТКУДА происходит попытка подключения.
3. В GET-запрос к эндпоинту /admin.php просто добавляется хедер X-Forwarded-For с IP localhost
4. Ты попадаешь в админку.

Хитрая ли это защита? Да. Используется ли она в дикой природе? Скорее да, чем нет. Надежна ли она? Определенно нет. Любой хакер, который понимает, как работает WAF, легко обойдет данный параметр))
 
  • Нравится
Реакции: M4x
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!