Le XSS (Cross-Site Scripting) est une vulnérabilité qui permet à un attaquant d'injecter du code JavaScript malveillant dans une page web consultée par d'autres utilisateurs. Cette faille, régulièrement classée dans le Top 10 OWASP, peut mener au vol de sessions, à la redirection vers des sites frauduleux ou à la modification du contenu affiché.
Comment ça fonctionne
Un attaquant exploite un champ de saisie mal protégé pour insérer un script exécuté par le navigateur de la victime. Il existe trois variantes : XSS stocké (persistant en base), XSS réfléchi (via l'URL) et XSS basé sur le DOM. Chacune nécessite des contre-mesures spécifiques.
Se protéger efficacement
La protection repose sur l'échappement systématique des sorties, la validation des entrées et l'utilisation d'en-têtes de sécurité comme Content-Security-Policy. Les frameworks modernes comme Symfony et Twig échappent automatiquement le HTML, mais la vigilance reste de mise sur les contextes JavaScript et les attributs.
Le XSS reste l'une des failles les plus répandues sur le web, pourtant elle est évitable avec des pratiques de développement rigoureuses et un framework qui protège par défaut.