HTTP Request Smuggling

Cria dado de teste (use o prefixo pentest_). Limpe depois. Só em alvo seu ou autorizado por escrito.

O vetor

Vetor: front-end (proxy/CDN) e back-end discordam sobre onde termina uma requisição → o atacante "contrabandeia" uma segunda requisição. O que testamos: discrepância entre Content-Length e Transfer-Encoding.

Os passos

Passo 1 (🟢/🟡) — usar ferramenta dedicada (não faça na mão em prod):

  • Ferramenta: extensão HTTP Request Smuggler (Burp) ou smuggler.py. Rode contra lab/localhost.
  • Teste CL.TE / TE.CL: enviar Transfer-Encoding: chunked + Content-Length conflitantes.

O que esperar

  • VULNERÁVEL: respostas "envenenadas" para outro usuário; requisição escondida é processada.
  • SEGURO: front e back concordam; rejeitam requisições ambíguas (Cloudflare já normaliza muito disso).

Como corrigir

Correção (P1): usar HTTP/2 fim a fim; rejeitar mensagens com ambos os headers; manter proxy/CDN atualizados. Limpeza: só em lab; nenhuma em prod.

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