Glossaire

Cross-Site Scripting (XSS)

Le XSS (Cross-Site Scripting) est une vulnérabilité qui permet à un attaquant d'injecter du code JavaScript malveillant dans les pages vues par d'autres utilisateurs.

Le Cross-Site Scripting, abrégé XSS, est une vulnérabilité web qui permet à un attaquant d’injecter des scripts malveillants dans des pages consultées par d’autres utilisateurs. Contrairement à l’injection SQL qui cible la base de données, le XSS cible directement les navigateurs des visiteurs.

Les trois types de XSS

On distingue trois formes principales :

  • XSS réfléchi : le script malveillant est inclus dans l’URL et renvoyé tel quel par le serveur. L’attaquant doit inciter la victime à cliquer sur un lien piégé.
  • XSS stocké : le script est enregistré dans la base de données (commentaire, formulaire de contact) et exécuté à chaque consultation. C’est la forme la plus dangereuse pour WordPress.
  • XSS basé sur le DOM : la manipulation se fait côté client, via le JavaScript existant sur la page, sans passer par le serveur.

Impact du XSS sur un site WordPress

Un XSS stocké sur un site WordPress peut avoir des conséquences graves :

  • Vol de cookies de session et prise de contrôle de comptes administrateurs
  • Redirection silencieuse des visiteurs vers des sites malveillants
  • Affichage de faux formulaires de connexion pour voler des identifiants (phishing)
  • Installation de backdoors si un administrateur connecté consulte la page infectée
  • Collecte de données personnelles des visiteurs (keylogging, formulaires)

Prévention du XSS dans WordPress

WordPress intègre des fonctions d’échappement natives (esc_html(), esc_attr(), wp_kses()) que tout développeur doit utiliser lors de l’affichage de données. Pour protéger votre site :

  • Maintenir tous les plugins à jour — les XSS sont fréquemment corrigés dans les mises à jour
  • Configurer une Content Security Policy (CSP) pour limiter les sources de scripts autorisées
  • Activer un WAF qui détecte et bloque les tentatives d’injection de scripts
  • Désactiver les commentaires si non utilisés, ou activer une modération stricte

Questions fréquentes

Le Cross-Site Scripting (XSS) est une attaque qui consiste à injecter du code JavaScript malveillant dans une page web pour qu'il s'exécute dans le navigateur d'autres utilisateurs. Il peut permettre de voler des sessions, rediriger des visiteurs ou afficher du contenu frauduleux.
Le XSS réfléchi nécessite que la victime clique sur un lien piégé contenant le script dans l'URL ; l'effet est immédiat mais limité à cette session. Le XSS stocké est plus dangereux : le script est sauvegardé en base de données et s'exécute automatiquement pour tous les visiteurs qui consultent la page infectée.
WordPress fournit des fonctions d'échappement (esc_html, esc_attr, wp_kses) que les développeurs doivent utiliser systématiquement lors de l'affichage de données dynamiques. Le nonce system protège également les formulaires contre la manipulation. Les plugins tiers qui n'utilisent pas ces fonctions peuvent introduire des failles XSS.
Retour en haut