CyberGlossary

Attaques et menaces

Cross-Site Scripting (XSS)

Aussi appelé: XSS

Définition

Vulnérabilité web permettant à un attaquant d'injecter des scripts malveillants dans des pages consultées par d'autres utilisateurs, exécutés dans leur navigateur sous l'origine du site.

Le Cross-Site Scripting (XSS) survient lorsqu'une application web inclut des entrées non fiables dans ses réponses sans échappement ni sanitization corrects, permettant l'exécution de JavaScript contrôlé par l'attaquant dans le navigateur de la victime. Les trois grandes classes sont le XSS réfléchi (charge envoyée dans une requête puis renvoyée), le XSS stocké (charge persistée côté serveur, par exemple dans un commentaire) et le XSS basé sur le DOM (faille côté client). Un XSS réussi peut détourner des sessions, voler des jetons, défigurer des pages, diffuser des malwares ou enchaîner avec SSRF et CSRF. Les défenses comprennent un output encoding sensible au contexte, une Content-Security-Policy stricte, les moteurs de templates du framework, des cookies HTTPOnly et SameSite et la validation des entrées.

Exemples

  • Une charge XSS stockée dans un message de forum dérobe les cookies de session de chaque utilisateur qui lit le fil.
  • Un XSS réfléchi dans un paramètre de recherche exécute le JavaScript de l'attaquant via un lien piégé.

Termes liés