Integridade de mídia/conteúdo (corrigido nesta revisão)
Só leitura — não altera nada no alvo. Só em alvo seu ou autorizado por escrito.
Os passos
5.1 Traversal — resultados REAIS (3 camadas de defesa):
curl -s -o /dev/null -w "../simples → %{http_code}\n" "$BASE/api/media/../../.env" # 404 (roteador resolve)
curl -s -o /dev/null -w "%%2e%%2e encodado → %{http_code}\n" "$BASE/api/media/%2e%2e%2f%2e%2e%2f.env" # 400 (validação da rota)
curl -s -o /dev/null -w "duplo-encode → %{http_code}\n" "$BASE/api/media/%252e%252e%252f.env" # 403 (WAF Cloudflare)
🎓 Defesa em profundidade funcionando — mas por 3 razões diferentes; registre as três.
5.2 XSS (Chrome): comentário <img src=x onerror=alert(1)> → não executa (React escapa; sem dangerouslySetInnerHTML) 🔍.
5.3 Cache: home s-maxage=31536000 (1 ano!) vs API 60s — risco de incidente com conteúdo antigo.