✖️XSS

XSS : Cross-Site Scripting

Une attaque XSS (Cross-Site Scripting) est une vulnérabilité de sécurité web qui permet à un attaquant d'injecter des scripts malveillants dans des pages web vues par d'autres utilisateurs. Ces scripts peuvent être utilisés pour voler des informations sensibles, usurper l'identité des utilisateurs, ou effectuer d'autres actions malveillantes sans le consentement de l'utilisateur.

L'attaque se déroule côté client car le script injecté est exécuté dans le navigateur de la victime.

Types d'attaques XSS

  1. XSS Reflected (non persistante)

    • Description: L'attaquant envoie un lien contenant un script malveillant. Lorsque la victime clique sur le lien, le script s'exécute dans le navigateur de la victime.

    • Exemple: Un lien vers un site web avec un paramètre de requête contenant un script malveillant.

  2. XSS Stored (persistante)

    • Description: Le script malveillant est stocké sur le serveur web (par exemple, dans une base de données) et est renvoyé aux utilisateurs chaque fois qu'ils accèdent à la page.

    • Exemple: Un champ de commentaire sur un site web qui n'échappe pas correctement les entrées utilisateur, permettant l'injection de scripts.

  3. XSS DOM-based

    • Description: Le script malveillant est injecté et exécuté par la manipulation du Document Object Model (DOM) dans le navigateur de la victime.

    • Exemple: Une page web qui prend des paramètres de l'URL et les utilise pour modifier le contenu de la page sans validation appropriée.

Conséquences d'une attaque XSS

  • Vol de cookies: Les scripts peuvent voler les cookies de session de l'utilisateur, permettant à l'attaquant de se faire passer pour l'utilisateur.

  • Usurpation d'identité: Les attaquants peuvent usurper l'identité des utilisateurs et effectuer des actions en leur nom.

  • Défacement de site web: Les scripts peuvent modifier le contenu de la page pour afficher des messages malveillants ou offensants.

  • Redirection: Les utilisateurs peuvent être redirigés vers des sites web malveillants.

Prévention des attaques XSS

  1. Validation et échappement des entrées utilisateur: Toutes les données entrées par l'utilisateur doivent être validées et échappées avant d'être affichées sur la page.

  2. Content Security Policy (CSP): Implémenter une CSP pour restreindre les sources de contenu et les types de scripts pouvant être exécutés.

  3. Sanitisation des données: Utiliser des bibliothèques de sanitisation pour nettoyer les données entrantes.

  4. Encodez les sorties: Encodage des données avant de les rendre dans le navigateur.

  5. Utilisation de frameworks sécurisés: Utiliser des frameworks qui offrent une protection intégrée contre les attaques XSS.

Mis à jour