A03:2021 - Injection (Spécifiquement XSS)
Le Cross-Site Scripting (XSS) se produit lorsqu'un attaquant peut injecter un script côté client (généralement du JavaScript) dans une page web consultée par d'autres utilisateurs. Cela permet à l'attaquant d'exécuter du code dans le navigateur de la victime.
Types de XSS
- XSS stocké (Persistant) : Le script malveillant est stocké de manière permanente sur le serveur cible (ex : dans un champ de commentaire). Chaque utilisateur qui consulte la page est infecté.
- XSS réfléchi (Non-persistant) : Le script est injecté via l'URL (un lien). Le serveur renvoie le script au navigateur de l'utilisateur, qui l'exécute.
Impact du XSS
Les attaquants utilisent le XSS pour :
- Voler des cookies/ID de session : Détourner la session de la victime.
- Keylogging : Capturer les touches frappées dans le navigateur.
- Redirection : Rediriger l'utilisateur vers un site malveillant.
Défense : Encodage de la sortie. Toute donnée fournie par l'utilisateur et affichée sur la page doit être convertie pour que le navigateur la traite comme du texte inoffensif plutôt que comme du HTML ou du JavaScript exécutable.