11800475009
academy
Sécurité
Confidentialité
Performances
Français

Que sont les scripts inter-sites (XSS) ?

Les scripts inter-sites, également appelés « XSS », sont une forme de cyberattaque au cours de laquelle le pirate injecte son propre code dans un site Web tout à fait légitime. Apprenez d’où viennent les attaques XSS et comment elles fonctionnent, puis découvrez comment vous protéger contre ce type de menace en ligne avec Avast One, une solution de sécurité de premier ordre.

Clubic-icon
2022
Antivirus performant, fiable
presse-citron-icon
Meilleur antivirus
PC-editors-choice-icon
2023
Choix de la rédaction
Cross-site_scripting_XSS-Hero
Écrit par Ivan Belcic
Publié le 9 juillet 2020
Cette article contient
Cette article contient

    Les attaques XSS sont un type d’attaques par injection de code, qui constituent une vaste catégorie de cybercrimes. Pour mener une de ces attaques par injection, un pirate ajoute (injecte) son propre code dans un programme vulnérable. Certaines attaques modifient complètement l’exécution du programme, tandis que d’autres ajoutent des actions supplémentaires, comme le téléchargement de malwares (programmes malveillants) sur l’ordinateur de la victime ou le vol de données personnelles.

    Comment fonctionnent les scripts inter-sites ?

    En programmation informatique, un script est une série d’instructions qui indique à un programme ce qu’il doit faire. Les pirates informatiques peuvent exploiter les vulnérabilités dans le code d’un site Web pour injecter leurs propres scripts malveillants, qui modifient le comportement du site d’une certaine manière.

    Votre navigateur est incapable de faire la différence entre le code légitime du site Web et celui qui a été injecté par un cybercriminel. Votre navigateur exécute automatiquement tous les scripts d’un site Web donné, et exécutera donc le code du pirate en même temps que tous les autres.

    Le XSS permet aux pirates de transformer des sites Web légitimes en pièges. Une session de navigation normale devient dangereuse lorsque vous arrivez sur un site infecté par des scripts malveillants cachés. Pire encore, avec le XSS, le pirate n’a pas besoin d’attaquer directement chaque victime. Il peut se contenter de laisser les sites Web infectés faire tout le travail et atteindre un nombre bien plus important d’utilisateurs simultanément.

    HTML, JavaScript et applications Web : Ohlala !

    Chaque site Web fonctionne grâce à une grande quantité de code écrit dans un langage de balisage appelé HTML. Les programmes informatiques, tels que les applications Web, utilisent des langages de balisage pour distinguer le code du texte normal.

    Avec les attaques par scripts inter-sites, les pirates informatiques peuvent exploiter les vulnérabilités dans le code d’un site Web pour injecter leurs propres scripts malveillants, qui modifient le comportement du site.

    Une application Web est un programme stocké à distance qui arrive sur votre ordinateur via votre navigateur Internet. Les exemples les plus courants incluent les services de messagerie et les sites de e-commerce. Lorsque vous saisissez des données dans l’application Web, celle-ci interprète et traite vos demandes à partir de son serveur, puis affiche les résultats dans votre navigateur. La différence entre les applications Web et les applications natives est que ces dernières sont des programmes « traditionnels » qui sont installés et exécutés entièrement sur votre appareil.

    Les sites Web écrits uniquement en code HTML ne peuvent pas s’adapter dynamiquement aux saisies de l’utilisateur. Ainsi, pour permettre aux applications Web de fonctionner correctement, les développeurs combinent le HTML avec d’autres langages tels que le JavaScript, un langage plus avancé qui permet aux sites de réagir en temps réel à vos commandes. Par exemple, si vous naviguez sur une boutique de vêtements en ligne et que vous choisissez d’afficher les « pulls » dans un menu déroulant, le JavaScript demande au site Web d’afficher tous les pulls, et uniquement les pulls, que vous pouvez acheter.

    Alors que le HTML est hébergé sur le serveur, le JavaScript s’exécute sur votre machine (on parle alors d’opération « côté client »). La plupart des attaques XSS utilisent le HTML ou le JavaScript, et cette différence est essentielle pour comprendre comment fonctionnent les différents types d’attaques XSS.

    Que peut faire une attaque par scripts inter-sites ?

    Les attaques XSS ne sont généralement pas aussi dangereuses que d’autres types d’attaques par injection de code, comme l’injection SQL. Les navigateurs ont tendance à limiter le contenu en JavaScript, mais un pirate habile peut travailler à l’intérieur de ces limites pour exploiter toute une série de données utilisateur. De nombreuses attaques XSS visent à détourner les cookies de session de la victime lorsqu’elle consulte le site web infecté. Avec ces cookies, le pirate peut agir au nom de la victime et accéder à ses informations personnelles, telles que ses noms d’utilisateur et ses mots de passe, pour les utiliser dans d’autres cybercrimes. Sur un portail de e-commerce, ces données peuvent même inclure des numéros de cartes bancaires. Le XSS permet donc de transformer un site Web légitime en portail de phishing. Ainsi, un pirate peut utiliser le XSS pour créer un formulaire de connexion empoisonné qui capture les identifiants des victimes lorsque ceux-ci sont soumis. Il est également possible d’injecter un keylogger qui enregistre les frappes de la victime lorsqu’elle se trouve sur la page concernée. Les scripts malveillants peuvent même télécharger des malwares sur les ordinateurs des victimes afin de préparer le terrain pour de futures attaques. Comme tous les sites Web utilisent le langage HTML et que la plupart d’entre eux utilisent également le JavaScript, il suffit au pirate d’identifier un site qu’il peut exploiter. C’est pourquoi le XSS est aujourd’hui l’une des failles de sécurité les plus répandues dans les logiciels. Non seulement le XSS est extrêmement courant, mais il est aussi incroyablement difficile à détecter, car les pirates peuvent injecter du code malveillant dans des sites légitimes. Les propriétaires de ces sites fiables peuvent ne pas détecter ou ne pas être capable de supprimer le code malveillant avant un certain temps. Plutôt que d’attendre que le code XSS soit supprimé, ou de suspecter chaque site, la meilleure protection consiste à utiliser un outil de cybersécurité efficace.

    Avast One stoppe l’exécution du XSS, de sorte que vous ne risquez jamais de divulguer vos informations personnelles à un pirate. Il offre également une protection 24h/24 et 7j/7 contre les liens malveillants, les pièces jointes d’e-mails infectées et toutes les autres menaces en ligne.

    Quels sont les différents types d’attaques par scripts inter-sites ?

    Il existe trois catégories principales d’attaques XSS : Les deux premières, les attaques XSS reflétées et les attaques XSS stockées, impliquent une manipulation du code directement sur le serveur d’applications Web, tandis que les attaques XSS basées sur le DOM constituent une catégorie plus récente, qui fonctionne exclusivement sur l’appareil de la victime.

    Les attaques XSS reflétées

    Les attaques XSS reflétées sont les plus simples et les plus courantes des trois types d’attaques XSS. Ce sont les plus faciles à exécuter, et (comme c’est généralement le cas dans ces situations) ce sont aussi les plus simples à détecter et à éviter pour vous. En fait, c’est le seul type d’attaque que vous pouvez raisonnablement espérer détecter vous-même, sans l’aide d’un logiciel antivirus. Également connues sous le nom d’attaques XSS non persistantes, les attaques XSS reflétées exigent que les victimes cliquent sur des liens malveillants déjà amorcés par le script du pirate. Le navigateur de la victime envoie la requête chargée au serveur du site Web, et celle-ci est ensuite « reflétée » à la victime via une page infectée. Si le pirate n’a pas besoin de pénétrer dans le site Web lui-même, il doit cependant parvenir à convaincre les victimes potentielles de cliquer sur ses liens infectés. Ce mode d’attaque combine la virtuosité technique et l’ingénierie sociale.

    Les attaques XSS stockées

    Si les attaques XSS reflétées doivent être déclenchées activement à chaque fois par un lien malveillant, les attaques XSS stockées n’ont pas cette contrainte. Les attaques XSS stockées permettent aux pirates d’injecter en permanence leurs scripts directement dans un site Web, et d’infecter chaque utilisateur qui le consulte. C’est pourquoi elles sont dites « persistantes ». Les attaques XSS stockées sont plus compliquées que les attaques XSS reflétées, car le pirate doit repérer un site web qui présente les caractéristiques suivantes :

    • Générer suffisamment de trafic pour que l’attaque en vaille la peine, et

    • Présenter une faille de sécurité qui puisse être ciblée par une attaque XSS stockée.

    Mais si le pirate trouve le site idéal, il pourra toucher un plus grand nombre de victimes potentielles : tout utilisateur qui consulte le site infecté verra les scripts malveillants chargés dans son navigateur. C’est la raison pour laquelle une attaque XSS stockée est quasiment impossible à détecter. Aucun signe suspect ne vient éveiller les soupçons jusqu’à ce qu’il soit trop tard.

    Les attaques XSS basées sur le DOM

    Avec les attaques XSS basées sur le DOM, les pirates modifient l’interaction entre votre navigateur et les sites Web que vous consultez, en altérant la manière dont ces sites Web vous renvoient vos données. Si les attaques XSS reflétées et stockées affectent le HTML côté serveur, les attaques XSS basées sur le DOM ignorent tout cet aspect et se concentrent exclusivement sur ce que fait votre navigateur. Vous vous souvenez, comme nous l’avons expliqué précédemment, que la plupart des sites utilisent le JavaScript pour activer des fonctionnalités dynamiques ? C’est le JavaScript qui gère les choses de votre côté et indique au site Web comment réagir à vos commandes. Si un pirate peut intercepter le processus par lequel votre JavaScript côté client transmet vos données à l’application Web, il peut modifier la manière dont cette application s’exécute dans votre navigateur.

    Comment éviter les attaques XSS ?

    Par nature, les scripts sont des procédures automatisées qui n’ont besoin d’aucune saisie de votre part pour s’exécuter. Cette automatisation rend la plupart des attaques XSS impossibles à détecter, car votre navigateur ne peut pas distinguer les scripts légitimes de ceux qui ont été injectés par un pirate. Les attaques XSS reflétées sont une exception à la règle : comme décrit ci-dessus, il est possible de les éviter. Sinon, il incombe à l’administrateur d’un site Web de trouver et de remédier à toutes les failles XSS avant qu’elles ne puissent être exploitées pour cibler les utilisateurs.

    Se défendre contre une attaque par scripts inter-sites

    Avec les attaques XSS reflétées, le défi du cybercriminel consiste à inciter la victime à cliquer sur un lien empoisonné. Mais cette contrainte vous donne également une chance d’éviter ce type d’attaque XSS, contrairement aux deux autres types. Vous pouvez néanmoins éviter les attaques XSS reflétées en suivant l’une des bonnes pratiques consacrées de la navigation sur Internet : ne cliquez pas sur les liens suspects.

    Évitez les attaques XSS en ne cliquant sur aucun lien suspect.

    Ignorez les liens que vous trouverez dans :

    • Les sections commentaires, les forums et les tableaux de discussion des sites Web.

    • Les e-mails et les messages instantanés en provenance d’expéditeurs inconnus.

    • Les publications sur les réseaux sociaux de personnes que vous ne connaissez pas.

    • Les messages suspects envoyés par vos contacts mais qui ne ressemblent pas à leurs messages habituels ; leurs comptes peuvent avoir été piratés.

    Toutefois, même ces recommandations ne sont pas infaillibles. Par exemple, les pirates peuvent avoir recours à l’usurpation pour vous faire croire que leurs communications vous sont envoyées par des contacts de confiance. Ou ils peuvent vous inciter à cliquer sur un lien grâce à des manœuvres d’ingénierie sociale efficaces. Restez toujours sur vos gardes pour tout ce qui est lié à Internet.

    Protégez-vous contre les scripts inter-sites avec Avast One

    Les attaques XSS sont notoirement difficiles à détecter, et vous ne pouvez pas vous fier à votre navigateur pour vous protéger. Agissez contre les cybercriminels en utilisant une solution de sécurité puissante conçue pour détecter et prévenir les menaces de toutes sortes.

    Avast One est un outil de cybersécurité complet auquel font confiance des centaines de millions d’utilisateurs dans le monde entier. En surveillant en permanence votre appareil et votre connexion réseau pour détecter tout problème éventuel, Avast protège vos précieuses données contre les techniques de piratage les plus sournoises.

    Obtenez Avast One pour iPhone pour aider à bloquer les pirates et les malwares

    Installer gratuitement

    Obtenez Avast One pour Android pour aider à bloquer les pirates et les malwares

    Installer gratuitement
    Piratage
    Sécurité
    Ivan Belcic
    9-07-2020