CyberGlossary

Vulnérabilités

HTTP Request Smuggling

Aussi appelé: HRS, Contrebande de requêtes

Définition

Attaque exploitant le désaccord entre un proxy frontal et un serveur back-end sur la fin d'une requête HTTP, permettant à un attaquant d'introduire une seconde requête cachée.

Le HTTP request smuggling exploite des parsings divergents des en-têtes Content-Length et Transfer-Encoding (CL.TE, TE.CL, TE.TE) entre intermédiaires : équilibreurs, CDN, reverse proxies et serveurs d'origine. En forgeant une requête ambiguë, l'attaquant fait diverger l'interprétation entre front-end et back-end, ce qui permet à une requête « passagère clandestine » d'être traitée dans la connexion d'un autre utilisateur. Conséquences : empoisonnement de cache, vol d'identifiants, contournement de WAF, prise de comptes. Défenses : normaliser ou rejeter les requêtes ambiguës, utiliser HTTP/2 de bout en bout, aligner front-end et back-end, appliquer les correctifs éditeurs.

Exemples

  • Smuggling CL.TE contre un couple CDN/back-end où la CDN utilise Content-Length et l'origine Transfer-Encoding.
  • Requête POST passagère clandestine volant l'en-tête Authorization de l'utilisateur suivant sur une connexion keep-alive partagée.

Termes liés