Найти в Дзене
B0rn2beR00T

Решение Codeby Games (Прокси)

Приветствую! На этот раз решим кейс с SSRF-уязвимостью и ломанём форму авторизации с очень ненадёжным методом логина пользователей. Приступим! SSRF (Server-Side Request Forgery) — это уязвимость, при которой злоумышленник может заставить сервер отправлять HTTP-запросы от своего имени куда угодно. При входе на страницу нам предлагают посетить несколько страниц, чтобы увидеть основной функционал сайта. Проверим основную фичу сайта: Мы можем просматривать код страницы при помощи данного хоста, используя его как прокси. После небольшого фаззинга обнаружим директорию /admin, однако она нам недоступна. Раз уж эта директория храниться на данном хосте, а из внешней сети она недоступна, но будем получать к ней доступ при помощи SSRF-уязвимости. Сделаем запрос не на какой-то внешний ресурс с сайта, а на него самого: http://127.0.0.1/admin Нам дают подсказку куда стоит зайти в этом своеобразном чек-листе (<br>6). Зайдем на /panel.php и посмотрим код скрипта: Теперь мы знаем, что для входа в у

Приветствую!

На этот раз решим кейс с SSRF-уязвимостью и ломанём форму авторизации с очень ненадёжным методом логина пользователей. Приступим!

SSRF (Server-Side Request Forgery) — это уязвимость, при которой злоумышленник может заставить сервер отправлять HTTP-запросы от своего имени куда угодно.

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

-2

Проверим основную фичу сайта:

-3

Мы можем просматривать код страницы при помощи данного хоста, используя его как прокси.

После небольшого фаззинга обнаружим директорию /admin, однако она нам недоступна.

-4

Раз уж эта директория храниться на данном хосте, а из внешней сети она недоступна, но будем получать к ней доступ при помощи SSRF-уязвимости. Сделаем запрос не на какой-то внешний ресурс с сайта, а на него самого:

http://127.0.0.1/admin

-5

Нам дают подсказку куда стоит зайти в этом своеобразном чек-листе (<br>6). Зайдем на /panel.php и посмотрим код скрипта:

-6

Теперь мы знаем, что для входа в учётку нужно добавить параметры username и password. Так и сделаем, вписав туда стандартные креды admin:admin.

-7

После этого нам дают хинт с другими кредами:

-8

Используя данные креды, тем же способом вводя их в параметры, получим флаг! Победа!

Выводы

Кейс интересный и довольно простой! Нас учат пользоваться параметрами в URL и показывают, что авторизация при помощи такой формы не лучший вариант для безопасного использования.

Для предотвращения нежелательных запросов SSRF-атаки следует реализовать белый список для ввода пользователя и никогда не доверять внешнему клиенты, не фильтрую его запросы. Среди таки клиентов могут быть и недоброжелатели.

Спасибо за внимание! Не забывайте оценивать моё творчество лайком. Всех благ!