Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

HTTP Request Smuggling

hacking

Définition

Le HTTP Request Smuggling est une technique d'attaque exploitant les divergences d'interprétation d'une requête HTTP entre deux serveurs situés en chaîne, typiquement un proxy frontal ou un répartiteur de charge et un serveur applicatif backend, lorsque ceux-ci ne traitent pas de façon identique les en-têtes Content-Length et Transfer-Encoding définissant la longueur du corps de la requête. En exploitant cette ambiguïté, un attaquant peut faire passer une seconde requête cachée à l'intérieur du corps de la première, requête qui sera interprétée différemment par chacun des deux serveurs, permettant de contourner des contrôles de sécurité placés au niveau du frontal, d'empoisonner le cache partagé entre utilisateurs, ou de détourner la requête d'un autre utilisateur légitime vers une réponse contrôlée par l'attaquant. Cette technique est référencée dans le OWASP Top 10 sous les catégories liées aux défauts de conception, et documentée en détail par les travaux de recherche de PortSwigger. En défense, l'homogénéisation stricte du traitement des en-têtes HTTP entre l'ensemble des composants de la chaîne, la désactivation du support HTTP/1.0 et 1.1 au profit de HTTP/2 de bout en bout lorsque possible, l'usage exclusif d'un seul en-tête de longueur normalisé, et la surveillance des journaux pour détecter des motifs de requêtes anormaux ou dupliqués constituent les contre-mesures principales recommandées pour ce vecteur d'attaque discret et difficile à détecter.

Description

L'HTTP Request Smuggling exploite les divergences d'interprétation des headers Content-Length et Transfer-Encoding entre un proxy frontal et un serveur backend pour « glisser » des requêtes supplémentaires dans le flux HTTP, affectant d'autres utilisateurs.

Exploitation

L'attaquant forge une requête ambiguë que le proxy et le backend interprètent différemment sur les limites de requête. Le « résidu » est préfixé à la prochaine requête d'un autre utilisateur, permettant de voler des sessions ou de contourner des contrôles d'accès.

Défense

  • Utiliser HTTP/2 de bout en bout pour éliminer les ambiguïtés de parsing des headers
  • Configurer le proxy et le backend pour rejeter les requêtes avec des headers conflictuels
  • Tester régulièrement avec des outils comme HTTP Request Smuggler de PortSwigger

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis