Source: Ethiack (blog). Recherche de Bruno Mendes (04/08/2025) détaillant une technique d’injection JavaScript/XSS via pollution de paramètres HTTP en ASP.NET pour contourner des WAF, avec tests sur 17 configurations et essais d’un hackbot autonome.
🧩 Technique et vecteur: la pollution de paramètres HTTP exploite les différences de parsing entre WAF, ASP.NET et navigateur. En ASP.NET, des paramètres duplicés sont concaténés par des virgules (HttpUtility.ParseQueryString), ce qui, combiné à l’opérateur virgule en JavaScript, permet d’assembler un code exécutable sans déclencher des signatures WAF. Exemple: /?q=1’&q=alert(1)&q=‘2 devient 1’,alert(1),‘2 dans une chaîne JS, exécutant alert(1).
🛡️ Évaluation des WAF (17 configurations): 4 charges ont été testées, dont des payloads XSS classiques, des variantes en pollution de paramètres (avec point-virgule, retours à la ligne) et une approche heuristique de détection par l’engine Ethiack. Résultats marquants:
- Seules 5 configurations ont bloqué 3 payloads: Google Cloud Armor (ModSecurity rules), Azure WAF (Microsoft DRS 2.1), et les 3 niveaux open-appsec.
- 3 rule sets AWS WAF ont été contournés par tous les payloads: AWS Managed Rules, Cyber Security Cloud, F5 rule set.
- Taux de contournement croissant avec la complexité: 17,6% pour le payload simple (1), 70,6% pour la pollution la plus complexe (3). L’engine heuristique d’Ethiack a détecté 100% des cas testés.
🤖 Hackbot et contournements:
- Azure WAF (DRS 2.1): bypass trouvé via une subtilité d’échappement JavaScript/WAF:
test\\';alert(1);//
(différence d’interprétation de\\'
). - Google Cloud Armor (strict + ModSecurity): pas de bypass trouvé; observation d’un parsing insensible à la casse côté application.
- open-appsec (ML): bypass en ~30s; après apprentissage bloquant alert, le hackbot a varié avec confirm puis new Function(‘a’+‘lert(1)’)(), montrant une adaptation rapide.
📊 Enseignements clés: la pollution de paramètres est très efficace contre les WAF à base de signatures, tandis que les approches ML détectent mieux mais restent contournables. L’étude illustre que l’automatisation complète les tests manuels en explorant des variantes inattendues.
Type d’article: publication de recherche technique visant à démontrer une méthode de contournement XSS via pollution de paramètres et à comparer l’efficacité de WAFs commerciaux.
🧠 TTPs et IOCs détectés
TTP
Injection JavaScript/XSS via pollution de paramètres HTTP, contournement de WAF, exploitation des différences de parsing entre WAF, ASP.NET et navigateur, utilisation de l’opérateur virgule en JavaScript, échappement JavaScript/WAF
IOC
Aucun IOC spécifique (hash, domaine, IP) n’est mentionné dans l’analyse fournie.
🔗 Source originale : https://blog.ethiack.com/blog/bypassing-wafs-for-fun-and-js-injection-with-parameter-pollution