Étant l’une des menaces de cybersécurité les plus courantes, les scripts intersites (XSS) ont attaqué presque 75 % des grandes entreprises en 2019. De plus, près de 40 % de toutes les cyberattaques ont été menées pour cibler des vulnérabilités XSS.
Les scripts intersites ont affecté les sites Web gérés par des géants du Web comme eBay, Google, Facebook et Twitter. Mais les scripts intersites ne sont pas une nouvelle cybermenace. En fait, les attaques XSS existent presque depuis l’aube du Web lui-même.
Pour vous aider à prévenir les attaques XSS, ce guide se concentre sur tout ce que vous devez savoir sur les scripts intersites. Après avoir lu ce guide, vous aurez une meilleure idée du fonctionnement des scripts intersites et de la façon dont vous pouvez sécuriser votre site Web WordPress.
Qu’est-ce que le script intersites (XSS) ?
Les scripts intersites (XSS) font référence au type de cyberattaques dans lesquelles des scripts malveillants sont injectés dans des sites Web par ailleurs crédibles et fiables.
Les attaques de scripts intersites sont possibles en HTML, Flash, ActiveX et CSS. Cependant, JavaScript est la cible la plus courante des cybercriminels car il est fondamental pour la plupart des expériences de navigation.
JavaScript est un langage de programmation qui vous permet d’implémenter des fonctionnalités complexes sur votre site Web. La plupart des sites Web sur le Web qui sont grands et interactifs ont été construits avec JavaScript. « Vous pouvez développer des fonctionnalités interactives sur site, des jeux ou ajouter des fonctionnalités supplémentaires pour mieux commercialiser vos produits », selon Domantas Gudeliauskas, directeur marketing pour le Zyro projet.
JavaScript est si populaire parmi la communauté Web car il vous permet de faire pratiquement n’importe quoi sur une page Web. Et c’est là que ça devient problématique. Les cybercriminels peuvent utiliser JavaScript pour se connecter à l’arrière de vos pages Web et insérer des scripts malveillants.
Comment fonctionne le script intersites ?
Les cybercriminels effectuent des attaques XSS sur les sites Web WordPress de deux manières. Ils peuvent soit exploiter les entrées des utilisateurs, soit contourner les politiques de même origine. Examinons les deux méthodes pour mieux comprendre les scripts intersites.
Manipulation de l’entrée utilisateur
La manière la plus courante pour les cybercriminels d’effectuer des attaques XSS consiste à exploiter les entrées des utilisateurs. La plupart des sites Web WordPress ont des champs de saisie utilisateur, tels que des barres de recherche, des formulaires de commentaires, des pages de connexion et des formulaires de contact. Le champ de saisie est généralement activé par le plugin ou le thème WordPress alimenté par JavaScript actif sur votre site Web.
Le problème est que tous les plugins et thèmes WordPress ne sont pas sécurisés à 100% et beaucoup d’entre eux présentent en fait des vulnérabilités XSS. Cela signifie pour vous que les cybercriminels peuvent utiliser les vulnérabilités de WordPress dans les champs de saisie pour exécuter des activités malveillantes.
Idéalement, une barre de recherche de site (ou tout autre champ de saisie utilisateur) ne devrait accepter que du texte brut, et non des commandes, comme entrée. Cependant, WordPress a une vulnérabilité de saisie utilisateur, qui permet aux pirates de saisir un code exécutif dans le champ de saisie et de l’envoyer à la base de données.
Contournement des politiques de même origine
La politique de même origine restreint une page pour récupérer des informations à partir d’autres pages Web. En vertu de la politique, les navigateurs Web autorisent les scripts contenus dans la première page Web à accéder aux données d’une deuxième page Web uniquement s’ils partagent la même origine. Cela permet de s’assurer qu’aucune demande intersites n’est effectuée.
La politique stipule que si votre page Facebook et vos services bancaires en ligne sont ouverts dans le même navigateur, les deux sites Web ne peuvent pas partager d’informations entre eux. Pourtant, si plusieurs onglets Facebook (qui partagent la même origine) sont ouverts, ils peuvent échanger des scripts et d’autres données entre eux.
Malgré la politique de même origine et d’autres mesures de sécurité prises pour empêcher les demandes intersites, les cybercriminels ont trouvé un moyen de contourner la politique en utilisant des cookies de session. Cela fonctionne car chaque fois que vous ouvrez un navigateur, il génère un cookie de session pour vous valider en tant qu’utilisateur du site Web et vous aider à passer d’une page à une autre en douceur.
Les cookies de session stockent les informations de connexion (y compris pour votre site WordPress), les informations de carte de crédit, les détails d’expédition et d’autres données sensibles. Voilà comment cela fonctionne. Disons que vous souhaitez vous connecter à votre compte bancaire en ligne. Lorsque vous ouvrez le site Web, un cookie de session est généré. S’il n’y avait pas eu les cookies de session, vous devriez vous connecter à votre compte bancaire en ligne chaque fois que vous souhaitez changer de page.
Il n’est pas rare que les navigateurs des utilisateurs présentent des vulnérabilités. Et s’il y en a, les cybercriminels utilisent le code qu’ils ont injecté dans l’entrée de l’utilisateur pour voler les cookies de session. De cette façon, les pirates peuvent voler les cookies de tous les sites Web ouverts dans le navigateur de l’utilisateur. Ensuite, ces cookies peuvent être utilisés pour se connecter aux comptes des utilisateurs pour se faire passer pour eux et voler des données financières.
Pourquoi les scripts intersites sont-ils dangereux ?
Les scripts intersites sont l’une des vulnérabilités WordPress à haut risque les plus courantes. Les attaques XSS sont si courantes car, contrairement à d’autres vulnérabilités de sécurité, elles sont très complexes à traiter. Même lorsque vous disposez d’une protection intégrée, il est très facile de commettre des erreurs qui permettent les scripts intersites. Une seule erreur dans le code HTML ou JavaScript de votre page Web peut rendre votre site Web vulnérable aux attaques de scripts intersites.
Lorsque les attaquants trouvent un moyen d’exploiter les vulnérabilités XSS, ils peuvent voler les informations d’identification du compte, les données financières et faciliter les escroqueries par phishing. Ils peuvent également propager des vers informatiques ou accéder à distance aux ordinateurs des utilisateurs. En outre, les attaques XSS permettent aux pirates d’effectuer les opérations suivantes :
- Pirater des comptes d’utilisateurs
- Diffuser des logiciels malveillants
- Contrôler l’ordinateur de l’utilisateur à distance
- Analyser et exploiter les applications intranet
Les attaques XSS sont généralement considérées comme moins dangereuses que les injections SQL. Cependant, lorsqu’ils sont combinés à l’ingénierie sociale, les scripts intersites permettent aux cybercriminels de lancer des attaques avancées et extrêmement dangereuses, notamment la plantation de chevaux de Troie, l’enregistrement de frappe, le phishing, le vol d’identité et la falsification de requêtes intersites.
Pour lutter contre les attaques XSS, les grandes sociétés informatiques lancent des programmes spéciaux de primes aux bogues. Ces programmes sont mis en œuvre par de nombreuses organisations et offrent une compensation ou une reconnaissance aux utilisateurs qui signalent des vulnérabilités XSS dans les scripts. De cette façon, les entreprises investissent dans la cybersécurité en demandant à d’autres développeurs d’identifier leurs bugs. Google a même lancé un Jeu où vous pouvez vous exercer à envoyer des bogues XSS.
Types d’attaques XSS
Il existe trois principaux types d’attaques de scripts intersites : les XSS réfléchies, stockées et basées sur le DOM. Pour avoir une meilleure perspective du fonctionnement de XSS, examinons chaque type de vulnérabilité XSS.
Script inter-sites stocké
Une vulnérabilité XSS stockée (alias persistante ou de type I) se produit lorsque l’entrée de l’utilisateur est stockée dans une base de données, un champ de commentaire, un journal des visiteurs ou d’autres serveurs cibles. Et puis une victime peut récupérer les données stockées (qui n’ont pas été rendues sûres dans le navigateur) à partir de l’application Web. De cette façon, lorsqu’un pirate informatique effectue une attaque, la charge utile n’est pas visible pour le filtre XSS du navigateur, et les victimes peuvent déclencher accidentellement la charge utile si elles visitent la page affectée.
Script inter-sites réfléchi
Une vulnérabilité XSS reflétée (alias non persistante ou de type II) se produit lorsqu’une application Web renvoie immédiatement l’entrée de l’utilisateur dans un résultat de recherche, un message d’erreur ou toute autre réponse. Dans ce cas, les données saisies par l’utilisateur sont reflétées sans être stockées, permettant ainsi aux pirates d’injecter des scripts XSS malveillants. Contrairement au XSS stocké, le XSS reflété cible le site Web lui-même plutôt que les visiteurs du site Web.
XSS basé sur DOM
La vulnérabilité XSS basée sur TA DOM (alias Type 0) se produit dans le DOM (Document Object Model) plutôt que dans la partie HTML. La source où le code malveillant est lu peut être une URL ou un élément particulier du code HTML.
Comment empêcher les attaques de scripts intersites ?
Maintenant que vous avez couvert les principes fondamentaux du XSS, examinons les moyens éprouvés de prévenir les attaques XSS.
Il existe plusieurs façons de protéger votre site Web WordPress contre les attaques XSS. Si vous disposez d’une expertise technique avancée, vous pouvez ajouter des extraits de code pour valider et désinfecter les entrées des utilisateurs. Cependant, si vous n’êtes pas familiarisé avec la partie technique de WordPress, il est préférable de déléguer le travail à votre équipe technique ou d’embaucher un professionnel qui pourra prendre ces mesures pour vous.
En attendant, il y a deux choses que vous pouvez faire pour empêcher les attaques de scripts intersites.
Installer un plugin de sécurité
L’installation d’un plugin WordPress de sécurité est la première étape vers la sécurité ultime de votre site Web WordPress. Lorsque vous choisissez un plug-in de sécurité, utilisez cette liste de contrôle comme référence pour vous assurer que le plug-in possède les fonctionnalités requises pour assurer la sécurité de votre site Web.
- Un plugin analyse régulièrement votre site Web à la recherche de logiciels malveillants.
- Un plugin utilise des pare-feu pour bloquer tout trafic qui semble malveillant.
- Un plugin est capable de mettre en œuvre des mesures de durcissement WordPress.
- Un plugin vous permet de gérer toutes les mises à jour de WordPress.
- Un plugin sauvegarde votre site WordPress, donc en cas d’attaque, vous pouvez restaurer votre site.
Installer un plugin dédié
L’installation d’un plugin anti-XSS est un autre moyen d’empêcher les scripts intersites. Les plugins anti-XSS fonctionnent en bloquant les paramètres couramment utilisés dans les attaques de scripts intersites. Par exemple, ces plugins peuvent sécuriser les champs de saisie des utilisateurs, tels que les formulaires de commentaires de votre site Web, les champs de connexion ou les barres de recherche.
La ligne de fond – 39% de toutes les vulnérabilités WordPress sont liés aux problèmes de scriptage intersites. Les entreprises perdent des millions de dollars en essayant de lutter contre les conséquences des attaques de scripts intersites. Afin d’éviter les attaques XSS ciblées sur votre site Web, il est important de comprendre ce qu’est le scriptage intersites et de prendre des mesures préventives.
Pour protéger votre site Web des scripts intersites, vous devez valider et nettoyer vos champs de saisie. De plus, vous pouvez installer des plugins de sécurité et anti-XSS dédiés qui vous aideront à sécuriser votre site Web WordPress.