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 проверками.