Je n'ai pas réussi à comprendre quelle est la différence entre le xss stocké et le xss réfléchi. Pouvez-vous m'expliquer avec un exemple ?
Réponses
Trop de publicités?Le XSS stocké signifie que certains persistant Les données (généralement stockées dans une base de données) ne sont pas nettoyées dans une page, ce qui implique que tout le monde peut être affecté par la vulnérabilité. Par exemple, imaginez un forum où les réponses postées par les utilisateurs ne sont pas échappées. Si quelqu'un publie un sujet avec du HTML, tous ceux qui se rendent sur la page du sujet seront affectés ! Les risques peuvent généralement être importants, puisqu'ils affectent tous les utilisateurs et peuvent se propager rapidement (Un exemple typique est Ver XSS de Myspace qui a touché un million d'utilisateurs en 20 heures).
Le XSS réfléchi, au contraire, signifie que les données non persistantes (généralement les données fournies par le client via la soumission d'un formulaire) ne sont pas échappées. Par exemple, imaginez un moteur de recherche où, dans la page de la liste des résultats, les mots clés de votre recherche sont réaffichés (et non nettoyés). Vous pourriez alors mettre du html sur votre recherche et il sera exécuté. Bien que les risques de cette vulnérabilité soient moins évidents, puisqu'elle n'affecte que l'utilisateur qui a fait l'injection, elle peut également poser problème. Par exemple, si un utilisateur malveillant envoie un lien contenant l'injection à une victime, et que celle-ci clique sur le lien.
En tenant compte de l'impact de l'entreprise sur le système
XSS stocké est persisté dans le système et est donc visible pour toute autre personne qui vient lire le contenu stocké. Par exemple, si je modifie une page de wikipedia et que j'y injecte un code javascript, celui-ci sera visible par tous les nouveaux visiteurs.
XSS réfléchi d'autre part, c'est comme si je saisissais un code, qui me serait renvoyé seul. Celui-ci ne sera pas en général visible par les autres, mais une telle vulnérabilité peut être utilisée par un hacker pour clickjacking . Supposons qu'un paramètre url pour une page de résultats de recherche puisse être converti en un code script. Cette url peut être envoyée aux personnes par courrier électronique et elles cliqueraient dessus pour voir le code malveillant exécuté sur notre site commercial. Bien qu'aucun code de ce type n'existe sur notre site, le manque de validation des entrées aura pour conséquence que de telles urls afficheront du contenu malveillant sur notre site comme s'il y était et le propriétaire de l'entreprise perdra sa réputation de marque.