XSS est une attaque qui permet d’injecter et d’exécuter du code HTML ou JavaScriptmalveillant. Cela peut être utilisé pour voler des données critiques (par exemple des données de session) à partir de cookies. Étant où le code est exécuté dans le contexte d’une application vulnérable, cela permet d’effectuer d’autres attaques telles que le phishing, la connexion au clavier ou la redirection de l’utilisateur vers une page malveillante. Dans le cas de "Stored Cross-Site Scripting« , le code injecté est placé en permanence dans l’application, ce qui le rend plus dangereux que "Reflected Cross-Site Scripting" où l’attaquant doit envoyer à la victime un lien spécialement préparé.
Une application étudiée a identifié de nombreux paramètres sensibles à l’injection de javascript. Voici un extrait de la demande avec le code malveillant injecté en rouge. Il effectue une action qui affiche une notification d’alerteet vise uniquement à documenter qu’une telle attaque est possible. Lors d’une véritable attaque, le pirate le plus souvent en utilisant XSS vole un cookie de session.
La figure ci-dessous montre l’exécution de code malveillant dans le navigateur de la victime par une action affichant une notification d’alerte.