⚠️
securite

XSS

Vulnérabilité web permettant l'injection de scripts malveillants dans les pages.

Qu'est-ce que le XSS ?

Le XSS (Cross-Site Scripting) est une vulnérabilité de sécurité web qui permet à un attaquant d'injecter du code JavaScript malveillant dans des pages web consultees par d'autres utilisateurs. Le XSS est l'une des vulnérabilités les plus repandues et figure dans le Top 10 OWASP. Il exploite la confiance qu'un navigateur accorde au contenu reçu d'un site web.

Les trois types de XSS

XSS reflechi (Reflected)

Le script malveillant est inclus dans une requête (généralement via l'URL) et reflete dans la réponse du serveur. L'attaquant envoie un lien piège à la victime. Quand elle clique, le script s'execute dans son navigateur. C'est le type le plus courant et le plus facile à exploiter via du phishing.

XSS stocke (Stored/Persistent)

Le script est stocke durablement sur le serveur (en base de données) et s'execute à chaque fois qu'un utilisateur consulte la page affectee. Plus dangereux que le XSS reflechi car il ne nécessite pas que la victime clique sur un lien spécifique. Exemples : commentaires de blog, messages de forum, profils utilisateurs non sanitises.

XSS base sur le DOM (DOM-based)

Le script manipule le DOM directement cote client sans transiter par le serveur. La vulnérabilité reside dans le code JavaScript front-end qui utilise des données non fiables (document.location, document.referrer, window.name) pour modifier la page. Plus difficile à détecter car le serveur ne voit pas l'attaque.

Impact et conséquences

Un XSS reussi permet de voler les cookies de session (detournement de compte), rediriger l'utilisateur vers un site malveillant, capturer les frappes clavier (keylogging), modifier le contenu de la page (defacement), et exécuter des actions au nom de l'utilisateur authentifie.

Protection contre le XSS

Les defenses efficaces incluent : l'echappement systematique des sorties HTML (output encoding) selon le contexte (HTML, attribut, JavaScript, URL), l'utilisation de frameworks qui echappent par défaut (React, Angular, Vue), la mise en place d'un en-tete Content-Security-Policy (CSP) restrictif, le flag HttpOnly sur les cookies de session, la validation des entrées en liste blanche, et l'utilisation de bibliothèques de sanitisation comme DOMPurify pour le HTML utilisateur.

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions fréquentes

Comment tester les failles XSS ?
Utilisez des outils comme OWASP ZAP, Burp Suite, ou testez manuellement en injectant des scripts dans les champs de formulaire.

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.