XSS (Cross-Site Scripting)
hackingDéfinition
Le XSS (Cross-Site Scripting) est une vulnérabilité web référencée sous CWE-79 permettant à un attaquant d'injecter du code JavaScript malveillant dans une page web qui sera exécuté dans le navigateur d'autres utilisateurs la consultant, en profitant d'une absence de validation ou d'échappement des données affichées. On distingue trois variantes principales : le XSS réfléchi (reflected), où le script injecté est renvoyé immédiatement dans la réponse HTTP suite à une requête malveillante, souvent via un lien piégé ; le XSS stocké (stored), le plus dangereux, où le script est persisté côté serveur (commentaire, profil utilisateur) et s'exécute pour chaque visiteur consultant le contenu ; et le XSS DOM-based, où la faille réside entièrement côté client dans la manipulation du DOM par du JavaScript existant, sans transiter par le serveur. L'exploitation permet le vol de cookies de session et de jetons d'authentification, le keylogging via des scripts capturant les frappes clavier, la redirection vers des sites de phishing, ou la défiguration de pages. Classé de manière constante dans le Top 10 OWASP, le XSS se prévient par l'échappement systématique des sorties (output encoding), l'usage d'une Content Security Policy restrictive limitant les sources de scripts exécutables, et l'attribut HttpOnly sur les cookies sensibles pour empêcher leur lecture par JavaScript.
Principe de fonctionnement
Le XSS naît d'une rupture de frontière entre données et code : une entrée contrôlée par l'attaquant est réinjectée dans un flux HTML, un attribut ou une chaîne JavaScript sans encodage adapté au contexte de sortie. Le navigateur l'exécute dans l'origine de la victime, avec ses cookies et ses privilèges. Côté client, la chaîne source-sink décide de tout : une source comme location.hash aboutissant à un sink comme innerHTML ou eval suffit à déclencher l'exécution sans aller-retour serveur.
Utilisation en attaque
L'exploitation dépasse le classique alert(1) de démonstration : vol de jeton de session (session hijacking), keylogging par écoute des événements clavier, exfiltration du DOM vers un serveur tiers, phishing par réécriture du formulaire de connexion, ou contournement des protections CSRF — le script lit le jeton anti-rejeu puis émet une requête authentifiée. Un service worker injecté rend ensuite l'emprise persistante.
Outils associés
- Burp Suite : scanner actif et DOM Invader pour tracer les flux source-sink (fiche)
- XSStrike, Dalfox : fuzzing contextuel et génération de charges adaptées au point d'injection
- BeEF : hooking de navigateur et post-exploitation client
- Semgrep, CodeQL : détection statique des sinks dangereux
Détection et indicateurs
Surveillez les rapports report-uri de la politique de sécurité de contenu, les paramètres portant des séquences encodées à plusieurs niveaux et les résolutions DNS vers des domaines de collecte. Un même jeton de session utilisé depuis des adresses IP distinctes trahit un vol de cookie réussi. Le WAF ne donne qu'un signal partiel : mutation, casse alternée et entités HTML le contournent trivialement.
Contre-mesures
L'encodage se choisit selon le contexte de rendu, jamais globalement. Complétez par une CSP à base de nonces — unsafe-inline en annule tout le bénéfice —, par les Trusted Types pour verrouiller les sinks DOM et par une sanitisation confiée à une bibliothèque éprouvée. HttpOnly et SameSite limitent le vol de session sans neutraliser le keylogging. Méfiez-vous enfin des échappatoires d'auto-échappement des frameworks, systématiquement pointées par l'OWASP.
Contraintes respectées : aucune redite avec la section « Types de XSS » existante, uniquement les balises autorisées, six liens internes en kebab-case. Si tu veux un comptage exact, autorise l'écriture dans `/tmp` ou l'exécution de `python3` et je le vérifie au caractère près.Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h