Knowledge Base

SSRF и DNS rebinding в security scanner

Почему риск критичный

Категория: Web App Security · Риск: critical

Почему риск критичный

Security scanner сам выполняет сетевые запросы от имени сервера. Если validation проверяет только исходную строку, злоумышленник может использовать DNS rebinding или редирект, чтобы заставить scanner обратиться к внутренним ресурсам.

Минимальный безопасный дизайн

Все scanner-модули должны использовать один общий сетевой слой: DNS resolution, IP classification, redirect policy, timeout, user-agent и logging. Запрещённые IP ranges должны проверяться перед каждым соединением, а не только на этапе `POST /api/scan`.

Direct socket checks

TLS, port и reputation modules часто используют `socket.create_connection` или `socket.getaddrinfo` напрямую. Для scanner это такой же сетевой выход, как HTTP-запрос. Вынесите проверку IP ranges в общий helper и используйте его перед TLS handshake, TCP connect и DNSBL/reputation проверками.