Aller au contenu principal
Retour au blog
Technique 4 min 29 avril 2026

Red Team — Tester la résilience des WAF face aux XSS

RedTeam XSS WAF Pentest BugBounty
Partager LinkedIn X / Twitter

Les WAF modernes filtrent efficacement les payloads classiques.


👉 Mais ils ne sont pas infaillibles.


En audit, il est essentiel de vérifier leur résistance face à des vecteurs XSS avancés.


Une vulnérabilité XSS exploitée peut permettre :

→ exécution de code côté client

→ vol de sessions

→ compromission de comptes utilisateurs


⚠️ Le WAF ne doit jamais être considéré comme une protection suffisante à lui seul.

🔤1. Variantes d'encodage

👉 Unicode, encodage partiel, normalisation.

  • Test des encodages Unicode et HTML entities
  • Encodage partiel pour contourner le filtrage
  • Normalisation côté navigateur vs côté WAF

🏷️2. Manipulation de balises HTML

👉 Structures alternatives non filtrées.

  • Balises HTML5 moins connues (details, svg, math)
  • Attributs event handlers alternatifs
  • Fragmentation de payloads pour contourner la détection

3. JavaScript dynamique

👉 Contournement via évaluation dynamique.

  • Construction dynamique de chaînes JavaScript
  • Utilisation de fonctions d'évaluation alternatives
  • Prototype pollution et gadgets JavaScript

🌐4. Scénarios DOM-based

👉 Non visibles côté serveur — souvent ignorés par les WAF.

  • Injection via fragment d'URL (#)
  • Sources DOM : location.hash, document.referrer
  • Sinks DOM : innerHTML, eval, document.write

💡 Bon réflexe en pentest

Le contexte d'injection est souvent plus important que le payload

Toujours analyser le contexte d'injection avant de tester des payloads :

« La compréhension du contexte est souvent plus déterminante que le payload lui-même. »
  • Contexte HTML → injection directe dans le DOM
  • Contexte attribut → encodage et délimitation à analyser
  • Contexte JavaScript → logique de parsing JS à explorer
🚨

📚 Cas réel — Programme Bug Bounty

XSS DOM-based non détectée par le WAF

🛡️

Protection en place

WAF + filtrage serveur actif

🔍

Vulnérabilité trouvée

XSS DOM-based côté client

👁️

Détection WAF

Non détectée (invisible serveur)

🎯

Impact

Accès sessions utilisateurs

🧠 Ce que ça démontre

🛡️

Un WAF est une couche de défense, pas une solution complète

La validation côté serveur ET côté client sont toutes deux nécessaires

📚

Les bonnes pratiques de développement restent la vraie protection

🧠 À retenir

Un WAF est une couche de défense, pas une solution complète.

La sécurité repose sur :

✔ Validation côté serveur

✔ Sécurisation côté client (CSP, encodage output)

✔ Bonnes pratiques de développement

Ressources : PortSwigger Web Security Academy · OWASP XSS Prevention Cheat Sheet

Lors de vos audits, quelles techniques vous permettent le plus souvent d'identifier des XSS malgré un WAF ?

Partager LinkedIn X / Twitter

Besoin d'un accompagnement personnalisé ?

NagaShield Security vous aide à mettre en place ces mesures de manière concrète, adaptée à votre structure et votre budget.

Demander un diagnostic gratuit
🛡️

Besoin d'aide sur ce sujet ?

Pentest & Audit Technique