Définition - Que signifie XSS Hole?
Un trou XSS est une application Web qui rend du contenu dynamique aux utilisateurs présentant une vulnérabilité de sécurité informatique. Cette application est un script intersite (XSS) et permet à un attaquant d'exploiter les données confidentielles d'un utilisateur sans passer par un mécanisme de contrôle d'accès tel qu'une politique de même origine. Ce défaut est mieux connu sous le nom de trou XSS.
Definir Tech explique XSS Hole
Par exemple, l'utilisateur peut rencontrer un lien hypertexte dans une application Web pointant vers un contenu malveillant. L'utilisateur peut cliquer sur le lien et être dirigé vers une autre page contenant une publicité ou un bulletin électronique. Cette page rassemble les informations utilisateur sous la forme d'un mot de passe. Il génère également une page de sortie malveillante qui indique une fausse réponse conçue pour apparaître comme authentique pour l'utilisateur. Soit les données saisies par l'utilisateur peuvent être mal utilisées, soit la session de l'utilisateur peut être détournée par le vol de cookies. En fonction de la sensibilité des données collectées, les scripts intersites peuvent aller d'une simple vulnérabilité à une faille de sécurité sérieuse. Après exploitation de la vulnérabilité XSS, l'attaquant peut contourner les politiques de contrôle d'accès de l'organisation.
Le concept de script intersite est basé sur la même politique d'origine. Les mêmes stratégies d'origine indiquent qu'un navigateur Web utilisant JavaScript peut accéder à différentes propriétés et méthodes appartenant au même site sans aucune restriction. Des attaquants malveillants peuvent exploiter le concept de la même politique d'origine en injectant du code malveillant dans un site Web à l'aide de JavaScript. Lorsque les pages Web sont consultées par les utilisateurs, les attaquants peuvent collecter des informations utiles sur l'utilisateur, telles qu'un nom d'utilisateur ou un mot de passe.
Selon les statistiques recueillies par Symantec en 2007, les scripts intersites représentent 80% de toutes les attaques de sécurité exécutées à l'aide d'ordinateurs. Il existe trois types de scripts intersites:
- Non-Persistent XSS: le type non-persistant de script intersite est vu lors des requêtes HTTP dans lesquelles le client incorpore des données dans une requête HTTP. Lorsque le serveur utilise des données envoyées par le client pour générer des pages, les trous XSS peuvent être actifs si la demande n'a pas été correctement nettoyée. Les pages HTML sont composées à la fois de contenu et de présentation. Si l'utilisateur malveillant ajoute du contenu qui n'a pas été validé, une injection de balisage se produit. L'utilisateur compromettra sa sécurité en saisissant les informations demandées par le code malveillant. L'attaquant peut induire l'utilisateur en erreur vers une URL différente, qui peut contenir un virus plus sophistiqué et acquérir des informations utilisateur importantes.
- XSS persistant: le contenu malveillant injecté par l'attaquant est enregistré côté serveur et toutes les autres demandes client accèdent au contenu modifié, posant ainsi un risque de sécurité sérieux. Par exemple, certains forums permettent à l'utilisateur de publier des messages au format HTML. Par conséquent, un attaquant peut embarquer un code JavaScript pour présenter une zone de texte malveillante afin de collecter des informations telles qu'un mot de passe. L'attaquant peut également configurer le code JavaScript pour enregistrer et transmettre chaque mot de passe saisi dans le champ de texte.
- DOM basé sur XSS: Le modèle d'objet de document (DOM) est une structure arborescente qui représente toutes les balises qui apparaissent dans un document conforme aux normes XML. DOM est utilisé dans JavaScript pour accéder et manipuler les balises HTML et le contenu des balises. Un attaquant peut injecter un morceau de code JavaScript malveillant contenant des instructions DOM appropriées pour accéder et modifier des informations utilisateur importantes. Par exemple, l'attaquant peut utiliser DOM pour rediriger les informations de l'utilisateur par une soumission incorrecte vers un site Web malveillant tiers.