Cross-Site Scripting (XSS) est une attaque par injection dans laquelle des scripts malveillants sont injectés dans des sites Web autrement fiables et inoffensifs. Lorsqu'un attaquant envoie du code malveillant, généralement sous la forme d'un script côté navigateur, à un autre utilisateur final via une application Web, cela s'appelle une attaque XSS. Les applications Web qui ne valident ni ne chiffrent les entrées des utilisateurs sont vulnérables à ces attaques car diverses failles sont répandues.
Un script malveillant peut être envoyé à un utilisateur sans méfiance via XSS pour accéder à ses données. Cependant, dans le cas d'une main à laquelle il ne faut pas faire confiance, le navigateur de l'utilisateur final ne peut pas le savoir et il exécutera quand même le script. Essentiellement, le script malveillant est capable d'accéder aux cookies, aux jetons de session ou à d'autres informations sensibles que le navigateur peut obtenir, car il pense que la main provient d'une source fiable.
Les utilisateurs ne sont-ils pas confrontés à des scripts intersites ?
Les vulnérabilités XSS sur les sites Web ou les applications peuvent permettre aux attaquants d'injecter du JavaScript dans les navigateurs des utilisateurs, compromettant ainsi la sécurité des sites Web vulnérables, des applications Web et de leurs utilisateurs. De la même manière que toute autre faille de sécurité, comme XSS, n'est pas le problème de l'utilisateur. En d’autres termes, si cela affecte vos utilisateurs, cela vous affecte également.
Parfois, les scripts intersites sont utilisés pour dégrader un site Web plutôt que de cibler directement un utilisateur dans les cas où l'attaquant vise à altérer un site Web de l'intérieur. En injectant des scripts dans un site Web, un attaquant peut modifier le contenu du site Web ou même rediriger le navigateur vers une autre page Web, par exemple infectée par un code malveillant, pour modifier le contenu du site Web.
Comment fonctionne le script intersite ?
Il faut d'abord qu'un attaquant trouve un moyen d'injecter du code malveillant (charge utile) dans l'URL d'une page Web visitée par la victime pour exécuter du code JavaScript malveillant dans le navigateur de la victime. Ensuite, la victime doit visiter le site Web du code malveillant pour l'exécuter. Un attaquant peut utiliser une attaque d'ingénierie sociale ou de phishing pour envoyer une URL malveillante à une victime particulière s'il cible une cible spécifique.
Le site Web vulnérable doit être capable d’incorporer directement les commentaires des utilisateurs dans ses pages pour que la première étape soit possible. Il serait alors possible pour un attaquant d'insérer une chaîne malveillante dans une page web, qui serait interprétée comme du code source par le navigateur de la victime lorsqu'elle verra la page.
Quels sont les types d’attaques XSS ?
Les attaques XSS peuvent être classées en 3 types principaux. En voici quelques-uns :
- Reflected XSS : Cela se reflète dans XSS dans la mesure où le script malveillant provient de la requête HTTP en cours.
- Stored XSS : Un XSS stocké dans lequel le script malveillant se trouve dans la base de données d'un site Web.
- XSS basé sur DOM : Un XSS basé sur des données DOM, dans lequel la vulnérabilité existe du côté du client plutôt que du côté du serveur, est appelé XSS basé sur DOM.
Comment prévenir le XSS ?
Vous devez vous assurer que votre entrée est nettoyée pour éviter les attaques XSS. Par exemple, assurez-vous de ne pas transmettre les données que vous recevez du navigateur directement au code de votre application sans vérifier les erreurs au préalable. Sur le de Seahawk Media , d'autres sujets de ce type sont abordés et pourraient être intéressants.