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.


PurpleLab // plataforma de treino ofensivo + defensivo // Fase 1 — portal dinamico