SSRF (Server-Side Request Forgery)
Cria dado de teste (use o prefixo pentest_). Limpe depois. Só em alvo seu ou autorizado por escrito.
O vetor
Vetor: um endpoint que busca uma URL fornecida pelo usuário pode ser levado a acessar recursos internos (metadata da nuvem, serviços locais). O que testamos: se algum parâmetro aceita URL e o servidor a busca sem validar.
Os passos
Passo 1 (🟡) — apontar para o metadata endpoint:
curl -s "$BASE/api/fetch?url=http://169.254.169.254/latest/meta-data/" -w "\n%{http_code}\n"
curl -s "$BASE/api/fetch?url=http://127.0.0.1:6379/" -w "\n%{http_code}\n"
O que esperar
- VULNERÁVEL: retorna conteúdo interno (metadata/credenciais) ou responde diferente para alvos internos.
- SEGURO: rejeita IPs internos/
file:/localhost; só permite allowlist de domínios.
Como corrigir
Correção (P0 se houver fetch de URL): allowlist de destinos; bloquear ranges privados/link-local (169.254.0.0/16, 127.0.0.0/8, 10/8, 192.168/16) e esquemas file:/gopher:; timeout curto. (CATALOGO §3.6.)
Limpeza: nenhuma.