Cache poisoning
Só leitura — não altera nada no alvo. Só em alvo seu ou autorizado por escrito.
O vetor
Vetor: envenenar o cache (CDN) para servir conteúdo malicioso a outros usuários via chaves de cache mal definidas (unkeyed headers). O que testamos: se headers não-chaveados influenciam a resposta cacheada.
Os passos
Passo 1 (🟢) — sondar reflexão de header em resposta cacheável:
curl -s -D - "$BASE/" -H "X-Forwarded-Host: pentest.example" -o /dev/null | grep -iE "cache|x-forwarded|age"
O que esperar
- VULNERÁVEL: header não-chaveado (ex.:
X-Forwarded-Host) reflete na resposta e é cacheado para todos. - SEGURO: cache key inclui o que importa; headers não confiáveis ignorados.
Como corrigir
Correção (P1): revisar cache keys; não refletir headers de entrada; Vary correto.
Limpeza: nenhuma (mas se envenenou lab, purgar o cache).