Server Side Request Forgery (SSRF), SSRF

SSRF на максималках: от чтения /etc/passwd до захвата облака

Здравствуйте, дорогие друзья!

Server-Side Request Forgery — это когда ты заставляешь сервер делать запросы от своего имени. Звучит просто? Да, но именно эта уязвимость позволяет творить настоящую магию: от чтения локальных файлов до полного захвата облачной инфраструктуры.

Базовый сценарий: локальные файлы
Классика жанра — чтение /etc/passwd через file:// протокол:

Но это детский сад. Давай копнём глубже.
Обход фильтров
Админы часто блокируют очевидные схемы. Вот как их обойти:

DNS Rebinding
Продвинутый метод — контроль над DNS, чтобы менять IP на лету:

Эксплуатация облачных метаданных
Тут начинается настоящий хардкор. Облачные провайдеры предоставляют метаданные через HTTP-эндпоинты.
AWS IMDSv1

AWS IMDSv2 (с защитой)
IMDSv2 требует токен, но есть обход:

Google Cloud Platform

Azure

Продвинутые техники
CRLF Injection для контроля заголовков

Blind SSRF
Когда не видишь ответ, используй внешний сервер:

Protocol Smuggling

Захват облака: реальный сценарий

Обход защит WAF/Firewall

Автоматизация

Защита (знай врага в лицо)
Чтобы защититься от SSRF:
Whitelist подход

Network Segmentation
• Разделяй приложения на уровне сети
• Используй firewall rules
• Блокируй доступ к метаданным из приложений
SSRF — это не просто чтение файлов. Это ключ к целой инфраструктуре. Знай эти техники, используй ответственно и всегда тестируй с разрешения.

SSRF на максималках: от чтения /etc/passwd до захвата облака

На этом все. Всем хорошего дня!