Перейти к содержимому
← Каталог nodejs IDOR

SSRF: Fetch Avatar в Express + better-sqlite3

Обработчик загрузки аватара в Express делает fetch по пользовательскому URL без валидации — доступ к внутреннему /admin/stats и утечка флага.

easynodejsPro
Задача
# SSRF: загрузка аватара по URL ## Сценарий Перед вами Express-приложение интернет-магазина SecureShop. На странице профиля есть удобная функция «Fetch Avatar» — пользователь вводит ссылку на изображение, сервер скачивает его и сохраняет как аватар. Эта функция, как и любой механизм, заставляющий сервер делать HTTP-запросы по управляемому пользователем URL, представляет собой потенциальный канал для **Server-Side Request Forgery (SSRF)**. В реализации обработчика отсутствует валидация целевого адреса: сервер обращается к любому URL, который ему передал клиент. На том же сервере живёт внутренний административный сервис, доступный только изнутри сетевого периметра приложения. Ваша задача — использовать функцию загрузки аватара, чтобы дотянуться до этого сервиса и получить флаг. ## Цели 1. Авторизуйтесь как `demo` / `demo` и найдите на странице профиля функцию «Fetch Avatar». 2. Изучите внутреннюю структуру приложения и определите, какие сервисы могут существовать только на стороне сервера, недоступные напрямую снаружи. 3. Используйте функцию загрузки аватара, чтобы заставить сервер обратиться к одному из таких внутренних сервисов и вернуть его ответ обратно в HTTP-ответ. 4. Извлеките CTF-флаг из полученного ответа. ## Данные | Параметр | Значение | |----------|----------| | Обычный пользователь | `demo` / `demo` |
🚧 Сайт в разработке. Полный функционал пока недоступен. Все вопросы — support@hackandfix.ru