Les attaques XSS (Cross-site Scripting) sont utilisées pour voler des données et détourner des sessions de navigation afin que les attaquants puissent agir au nom d’une victime. Les attaquants peuvent utiliser cette opportunité pour modifier des pages Web, publier sur des comptes sociaux, effectuer des virements bancaires ou effectuer des achats frauduleux.
Ceci est accompli en incitant les applications et les sites Web à envoyer des scripts malveillants via le navigateur Web. La méthode la plus courante pour reprendre les sessions utilisateur consiste à injecter du code à l’aide de champs de formulaire ou d’autres champs de saisie de données.
- Risques d’attaques XSS
- Risque pour les utilisateurs
- Risque pour les entreprises
- Types d’attaques XSS
- Attaques XSS réfléchies
- Attaques XSS basées sur le DOM
- Attaques XSS persistantes / stockées
- Comment prévenir les attaques XSS
- Maintenir le logiciel à jour
- Assainir et valider les champs de saisie
- Pare-feu d’application Web
- Politique de sécurité du contenu
Risques d’attaques XSS
Les attaques XSS posent des risques de sécurité vitaux pour les utilisateurs et les entreprises.
Risque pour les utilisateurs
Les attaquants qui détournent la session d’un utilisateur peuvent prendre un certain nombre d’actions malveillantes qui les affectent. Sur le plan monétaire, ils peuvent effectuer des frais frauduleux en utilisant leurs cartes bancaires ou transférer directement de l’argent sur d’autres comptes.
Les attaques XSS peuvent également être utilisées pour extraire des informations sensibles des cookies et des bases de données. Ces informations peuvent être utilisées pour le vol d’identité.
Risque pour les entreprises
Si un attaquant met la main sur des informations d’identification utilisateur volées, il peut également faire des ravages pour l’entreprise. Si l’utilisateur dispose de droits d’administrateur, une attaque XSS peut s’étendre au côté serveur.
Les entreprises peuvent également souffrir d’une perte de crédibilité et de confiance de la marque si une attaque XSS devient publique. Les utilisateurs et les clients sont plus susceptibles de ne pas revenir sur un site s’ils savent que leurs informations peuvent être à risque.
Types d’attaques XSS
Attaques XSS réfléchies
Dans les attaques XSS réfléchies, les scripts malveillants sont injectés directement dans une requête HTTP. Le script est reflété par le serveur dans une réponse HTTP, puis exécuté dans le navigateur d’un utilisateur. C’est le type d’attaque XSS le plus simple.
Attaques XSS basées sur le DOM
Les attaques basées sur le modèle d’objet document (DOM) ne nécessitent aucune interaction avec le serveur. La vulnérabilité est le script côté navigateur. Les applications Web lisent le script malveillant directement à partir d’une chaîne de requête. Ils sont similaires de cette manière aux attaques XSS réfléchies.
Attaques XSS persistantes / stockées
Les attaques XSS persistantes, également appelées attaques XSS stockées, sont le type d’attaque le plus dangereux car elles peuvent affecter chaque utilisateur qui visite le site. Dans ce cas, les scripts sont injectés dans une base de données via des champs de formulaire.
Le script est ensuite stocké indéfiniment dans la base de données du site Web. Chaque utilisateur qui entre ensuite sur le site est vulnérable au détournement de sa session.
Comment prévenir les attaques XSS
Vous pouvez prendre un certain nombre de précautions pour prévenir les attaques XSS.
Maintenir le logiciel à jour
Le logiciel doit toujours être mis à jour pour de nombreuses raisons, notamment la correction de bugs, l’amélioration des performances, l’installation de nouvelles fonctionnalités et la correction de vulnérabilités de sécurité. La mise à jour régulière des logiciels réduira considérablement les vulnérabilités qui laissent un site ou une application ouvert aux vulnérabilités XSS.
Vous devez également auditer toutes vos applications pour déterminer celles dont vous avez besoin et celles que vous utilisez rarement. Débarrassez-vous de toutes les applications que vous n’utilisez pas pour réduire davantage le nombre de vulnérabilités.
Assainir et valider les champs de saisie
Les champs de saisie sont le point d’entrée le plus courant pour les scripts d’attaque XSS. Par conséquent, vous devez toujours filtrer et valider toute entrée d’informations dans les champs de données. Ceci est particulièrement important si les données seront incluses en sortie HTML pour se protéger contre les attaques XSS réfléchies.
La validation doit avoir lieu à la fois côté client et côté serveur à titre de précaution supplémentaire. la validation des données avant leur envoi aux serveurs protégera également contre les scripts XSS persistants. Cela peut être accompli en utilisant Javascript.
Pare-feu d’application Web
Un pare-feu d’application Web (WAF) peut être un outil puissant de protection contre les attaques XSS. WAFs peut filtrer les robots et autres activités malveillantes pouvant indiquer une attaque. Les attaques peuvent ensuite être bloquées avant l’exécution d’un script.
Politique de sécurité du contenu
Une politique de sécurité du contenu (CSP) peut définir les fonctions qu’un site Web est autorisé à exécuter. Ils peuvent être utilisés pour empêcher un site Web d’accepter des scripts en ligne. Cela peut être la méthode la plus puissante à votre disposition car elle peut bloquer complètement les attaques XSS ou au moins en réduire considérablement la possibilité.