Ответ
SSRF (Server-Side Request Forgery) — уязвимость, когда злоумышленник заставляет сервер выполнять произвольные HTTP-запросы к внутренним или внешним ресурсам. Часто используется для обхода firewall, сканирования внутренней сети или доступа к метаданным облачных сервисов (например, AWS IMDS).
Пример уязвимого кода на Node.js:
app.get('/fetch', (req, res) => {
const url = req.query.url;
fetch(url) // опасный запрос без валидации URL
.then(response => response.text())
.then(data => res.send(data));
});
Меры защиты:
- Валидация и санитизация URL
- Использование белых списков доменов
- Отключение обработки перенаправлений
- Блокировка приватных IP-адресов (RFC 1918)