Cross-site scripting (XSS)
XSS · cross site scripting · script intersite · faille XSS · XSS stocké · XSS réfléchi · XSS basé sur le DOM
Faille d’une application web qui permet à un attaquant d’injecter du code JavaScript dans une page consultée par d’autres utilisateurs, et donc d’agir dans leur navigateur à leur place.
En pratique
Le script injecté s’exécute avec les droits de la victime sur le site : il peut détourner sa session, modifier l’affichage (faux formulaire de connexion) ou agir en son nom. On distingue le XSS stocké (enregistré, par exemple dans un commentaire, il touche tous les visiteurs), le XSS réfléchi (via un lien piégé) et le XSS basé sur le DOM (entièrement côté navigateur). C’est l’une des failles les plus répandues : l’OWASP Top 10:2025 en recense plus de 30 000 CVE, dans la catégorie Injection (A05).
Exemple fictif : sur l’extranet d’un fournisseur, le champ « nom de la société » n’est pas encodé à l’affichage. Un attaquant y place un script ; chaque fois qu’un administrateur consulte la liste des comptes, le script transmet sa session à l’attaquant, qui prend la main sur l’interface d’administration.
Comment s’en protéger
- Encoder toute donnée affichée selon son contexte (HTML, attribut, JavaScript, URL).
- S’appuyer sur l’échappement automatique du framework et proscrire ses fonctions de contournement.
- Nettoyer le HTML saisi par les utilisateurs avec une bibliothèque éprouvée.
- Ajouter une politique de sécurité du contenu (CSP) et des cookies HttpOnly, en défense complémentaire.

