cybercursus

XSS stockée : la charge qui persiste

9 min · Débutant · 7 août 2026

Sommaire
  1. Une charge qui n’a plus besoin de lien piégé
  2. Des points d’entrée très communs
  3. La démonstration

Une charge qui n’a plus besoin de lien piégé

Le chapitre précédent montrait une charge qui n’existe que le temps d’une requête. Une XSS stockée change ce point précis : la charge est enregistrée quelque part côté serveur (une base de données, un fichier), puis renvoyée à chaque visiteur qui charge la page concernée, sans qu’aucune action individuelle ne soit nécessaire au-delà de la visite elle-même.

Des points d’entrée très communs

N’importe quel contenu saisi par un utilisateur et réaffiché plus tard à d’autres est un candidat : un commentaire, un avis produit, un nom de profil, un message dans un forum.

text
1. L'attaquant poste un commentaire contenant une charge XSS
2. Le serveur enregistre ce commentaire tel quel, sans l'échapper
3. Chaque visiteur qui affiche la page reçoit la charge dans le HTML
4. Le navigateur de chaque visiteur exécute la charge automatiquement

Danger

Une XSS stockée sur une page très visitée touche potentiellement des milliers d’utilisateurs avant même d’être détectée, contrairement à une XSS réfléchie qui ne touche qu’une victime à la fois.

La démonstration

Le bac à sable ci-dessous simule un commentaire déjà enregistré en base de données, affiché à l’ouverture de la page, exactement comme le ferait une vraie section de commentaires :

html
<!-- HTML -->
<h3>Commentaires</h3><div id="commentaires"></div>

// JS
// Simule un commentaire deja enregistre en base de donnees,
// servi a TOUS les visiteurs de la page au chargement
const commentaireStocke = "Super article ! <img src=x onerror=\"console.log('XSS stockee executee')\">";
document.getElementById('commentaires').innerHTML = commentaireStocke;

Contrairement à la démonstration du chapitre précédent, il n’y a ici aucune notion de lien à cliquer : la charge s’exécute dès que la page se charge, pour n’importe quel visiteur.

Pourquoi une XSS stockée est-elle généralement considérée comme plus dangereuse qu'une XSS réfléchie ?
Lequel de ces points d'entrée est un candidat typique pour une XSS stockée ?

Pour aller plus loin

Commentaires

Recherche