WAFFLED: Exploiting Parsing Discrepancies to Bypass Web Application Firewalls
Cette présentation introduit une méthode innovante de contournement des pare-feu d'applications web (WAF) en exploitant les incohérences d'analyse via des techniques de fuzzing avancées, révélant ainsi plus de 1200 failles dans cinq solutions majeures et proposant un outil de normalisation HTTP pour y remédier.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
🧀 WAFFLED : Comment tromper les gardes du corps d'Internet
Imaginez que les sites web sont comme des restaurants très fréquentés. Pour protéger les clients et la cuisine contre les intrus (les pirates), on installe des gardes du corps à l'entrée. Dans le monde d'Internet, ces gardes s'appellent des WAF (Web Application Firewalls).
Leur travail est simple : ils vérifient chaque commande (la requête HTTP) qui arrive. Si la commande contient une arme cachée (un code malveillant), le garde la bloque et dit : "Non, vous ne passez pas !".
Mais les chercheurs de cet article ont découvert un truc incroyable : les gardes du corps ne parlent pas tous la même langue que les cuisiniers.
1. Le Problème : Le "Malentendu" (La Disparité de Parsing)
C'est ici que l'histoire devient drôle.
- Le Garde du Corps (WAF) : Il lit la commande d'une certaine manière. Parfois, il est un peu distrait ou suit des règles un peu différentes.
- Le Cuisinier (Le Site Web) : Il lit la même commande, mais il est très flexible et comprend des subtilités que le garde ignore.
L'analogie du "Pain au Chocolat" :
Imaginez que vous envoyez une lettre avec un mot de passe caché à l'intérieur d'un gâteau.
- Le garde regarde le gâteau et dit : "Ah, il y a un mot de passe dedans ? Non, je ne vois rien, c'est juste du gâteau. Je vous laisse passer." (Parce qu'il a mal lu l'étiquette).
- Le cuisinier, lui, ouvre le gâteau, voit le mot de passe, le lit et l'exécute.
Les chercheurs ont découvert que les WAFs actuels sont souvent confus sur la façon de lire certains types de données (comme les fichiers envoyés, les données JSON ou XML). Ils ne respectent pas toujours les règles officielles de l'Internet (les RFC) de la même façon que les sites web.
2. L'Expérience : Le "Fuzzing" (Le Test de la Torture)
Pour prouver leur théorie, les chercheurs ont créé un robot (un outil appelé WAFFLED) qui a envoyé des milliers de commandes bizarres aux gardes du corps.
Ils n'ont pas changé le "mot de passe" (l'attaque). Ils ont juste déformé l'emballage.
- Ils ont ajouté des espaces inutiles.
- Ils ont changé la casse (majuscules/minuscules).
- Ils ont mélangé les étiquettes.
Le résultat ?
Sur 5 gardes du corps célèbres (Cloudflare, AWS, Azure, Google, ModSecurity), ils ont réussi à faire passer 1 207 attaques différentes !
C'est comme si le garde du corps disait : "C'est bon, c'est un gâteau normal", alors que le cuisinier recevait une bombe.
3. La Réalité : Ce n'est pas juste de la théorie
Les chercheurs se sont demandé : "Est-ce que ça marche vraiment dans la vraie vie ?"
Ils ont analysé 100 sites web réels (comme des pages de "mot de passe oublié").
- Ils ont découvert que plus de 90 % de ces sites acceptent deux types de commandes interchangeables.
- Cela signifie que si un pirate sait comment tromper le garde avec un type de commande, il peut souvent utiliser cette astuce sur n'importe quel site populaire.
4. La Solution : Le "Normalisateur" (Le Traducteur Universel)
Alors, comment on répare ça ? Les chercheurs ont créé un nouvel outil appelé HTTP-Normalizer.
L'analogie du "Traducteur Rigide" :
Imaginez un nouveau garde à l'entrée qui ne parle que la "Langue Officielle".
- Si vous arrivez avec un gâteau mal emballé (une commande bizarre), le traducteur dit : "Attendez, je vais réécrire votre étiquette pour qu'elle soit parfaite."
- Il enlève les espaces inutiles, remet les majuscules au bon endroit, et s'assure que tout respecte les règles strictes.
- Ensuite, il donne le gâteau au garde du corps original.
Le résultat :
- Si le gâteau était une bombe cachée dans un emballage bizarre, le traducteur l'a démasqué en le "normalisant".
- Le garde du corps voit maintenant clairement la bombe et la bloque.
- Si le gâteau était innocent, il passe quand même, car le traducteur ne gâche rien de bon.
En résumé
Cette recherche nous apprend trois choses importantes :
- Les gardes du corps (WAF) sont confus : Ils ne lisent pas toujours les commandes exactement comme les sites web les reçoivent.
- C'est dangereux : Les pirates peuvent utiliser cette confusion pour passer entre les mailles du filet sans être vus.
- On peut régler le problème : En forçant tout le monde à respecter strictement les règles officielles (via un outil comme HTTP-Normalizer), on peut éliminer ces failles.
Les chercheurs ont déjà prévenu les entreprises concernées (Google, Microsoft, etc.), qui ont reconnu le problème et travaillent sur des correctifs. C'est une victoire pour la sécurité d'Internet ! 🛡️✨
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.