Au sein d'un trafic web apparemment normal, une requête malveillante se cache dans l'ombre, exploitant les désaccords entre serveurs sur les limites HTTP. Cette technique sournoise a compromis des sites web majeurs et contourné des systèmes de sécurité d'entreprise ! Armé de compétences en investigation réseau et de connaissances protocolaires, vous découvrirez comment les attaquants manipulent les en-têtes HTTP pour faire passer des requêtes non autorisées au-delà des contrôles de sécurité. Il est temps d'exposer cette menace invisible !
Le HTTP smuggling est une vulnérabilité de sécurité web sophistiquée qui exploite les incohérences dans la façon dont les serveurs front-end et back-end analysent les requêtes HTTP. Lorsque plusieurs serveurs dans une chaîne - comme un répartiteur de charge, un CDN ou un proxy inverse couplé à un serveur d'origine - ne sont pas d'accord sur l'endroit où une requête se termine et où la suivante commence, les attaquants peuvent "faire passer en contrebande" des requêtes cachées au-delà des contrôles de sécurité pour atteindre directement le serveur back-end.
HTTP/1.1 fournit deux mécanismes pour indiquer la longueur d'un corps de requête : l'en-tête Content-Length (spécifiant le nombre exact d'octets) et l'en-tête Transfer-Encoding: chunked (utilisant une transmission par morceaux). Le HTTP smuggling survient lorsqu'un serveur front-end et un serveur back-end utilisent des méthodes différentes pour déterminer les limites des requêtes. Les trois variantes principales sont CL.TE (le front-end utilise Content-Length, le back-end utilise Transfer-Encoding), TE.CL (l'inverse), et TE.TE (les deux utilisent Transfer-Encoding mais avec des différences d'analyse causées par l'obscurcissement des en-têtes).
Le HTTP request smuggling permet plusieurs scénarios d'attaque dangereux. Les attaquants peuvent contourner les contrôles de sécurité en faisant passer des requêtes qui échappent à l'inspection du WAF (Web Application Firewall). Ils peuvent effectuer un détournement de requêtes en préfixant du contenu malveillant aux requêtes d'autres utilisateurs. Les attaques d'empoisonnement de cache stockent des réponses malveillantes dans les caches CDN qui sont ensuite servies aux utilisateurs légitimes. Le vol d'identifiants est possible en redirigeant les en-têtes d'authentification des requêtes d'autres utilisateurs vers des endpoints contrôlés par l'attaquant.
Identifier les vulnérabilités de HTTP smuggling nécessite une analyse minutieuse de la façon dont les serveurs gèrent les requêtes ambiguës. Les chercheurs en sécurité envoient des requêtes spécialement conçues avec des en-têtes Content-Length et Transfer-Encoding contradictoires, puis observent les différences de temps et le comportement des réponses pour déterminer quelle méthode d'analyse chaque serveur utilise. L'analyse de capture de paquets est précieuse pour étudier ces attaques, car elle révèle les séquences d'octets exactes qui déclenchent la désynchronisation entre les serveurs.
Le HTTP request smuggling a été documenté pour la première fois en 2005 mais a gagné un regain d'attention après que des chercheurs ont démontré des attaques dévastatrices contre des infrastructures web majeures en 2019. Depuis lors, des vulnérabilités de smuggling ont été trouvées dans des serveurs web populaires, des fournisseurs CDN et des répartiteurs de charge cloud. La vulnérabilité reste pertinente car les architectures web modernes s'appuient de plus en plus sur le traitement de requêtes multicouche, créant des opportunités de désaccords d'analyse. Comprendre le HTTP smuggling est essentiel pour les professionnels de la sécurité testant les infrastructures web et les passerelles API.
Créez un compte gratuit et pratiquez la cybersécurité.
Créez un compte gratuit pour démarrer votre propre serveur dédié, soumettre des flags et gagner des XP au classement.
Commencer à Hacker GratuitementLabs qui partagent des compétences similaires
Choisissez comment vous voulez commencer
Connectez-vous à votre compte