CyberGlossary

Vulnerabilidades

HTTP Request Smuggling

Também conhecido como: HRS, Contrabando de pedidos

Definição

Ataque que explora a divergência entre um proxy frontal e um servidor back-end sobre onde termina um pedido HTTP, permitindo introduzir um segundo pedido oculto.

O HTTP request smuggling abusa do parsing inconsistente dos cabeçalhos Content-Length e Transfer-Encoding (CL.TE, TE.CL, TE.TE) entre intermediários como load balancers, CDNs, reverse proxies e servidores de origem. Com um pedido ambíguo, o atacante faz com que o front-end e o back-end discordem sobre onde a mensagem termina, permitindo que um pedido contrabandeado seja processado no contexto da ligação de outro utilizador. Consequências: envenenamento de cache, roubo de credenciais, bypass de WAF e tomada de contas. Defesas: normalizar ou rejeitar pedidos ambíguos, usar HTTP/2 ponta a ponta, alinhar implementações front-end e back-end e aplicar patches do fornecedor.

Exemplos

  • Smuggling CL.TE contra um par CDN/back-end em que a CDN usa Content-Length e a origem Transfer-Encoding.
  • Pedido POST contrabandeado que rouba o cabeçalho Authorization do utilizador seguinte numa ligação keep-alive partilhada.

Termos relacionados