Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Le « cross-site scripting » (script inter-sites - XSS) est un type d'exploitation de vulnérabilités numériques (faille de sécurité) généralement rencontrées avec les navigateurs Web.

XSS permet aux attaquants d'injecter des scripts (du code exécutable) ou d'autres formes de malveillances, côté client(le Web fonctionne selon une relation client/serveur), dans le navigateur Web de l'utilisateur, à partir de pages Web compromises.

Les pages Web en question sont :

Ces pages, consultées par les internautes avec leurs navigateurs Web, peuvent alors contenir du code injecté (typiquement du code JavaScript) qu'ils vont interpréter/exécuter tout-à-fait normalement.

Ces codes malveillants injectés par « cross-site scripting » peuvent alors permettre, par exemple, de contourner des contrôles d'accès tels que les « stratégies de même origine » (« same-origin policy ») et permettre des exécutions sur d'autres contenus de pages d'autres sites (imaginez le contrôle à partir d'une page dans un onglet de la saisie d'identifiant et mot de passe dans les champs de saisie d'une tout autre page, d'un tout autre site [votre banque…] dans un autre onglet de votre navigateur ou, carément, dans un autre navigateur si vous en tilisez plusiurs…).

Stratégie de même origine (« same-origin policy »)

La stratégie de même origine (« same-origin policy ») est une fonctionnalité de sécurité des navigateurs Web qui limite les interactions croisées entre documents ou scripts d'origines différentes. Un navigateur peut charger et afficher les ressources de plusieurs sites (vous pouvez, par exemple, avoir plusieurs onglets ouverts en même temps sur des pages de sites différents, ou un site peut ouvrir plusieurs cadres [iframes] affichant/exécutant des codes provenant de différents sites. Lire l'article « iFrame ».)

Le « cross-site scripting » (script inter-sites - XSS) effectué sur des sites Web représentait environ 84% de toutes les vulnérabilités de sécurité documentées par Symantec jusqu'en 2007.

En 2017, le XSS était toujours considéré comme un vecteur de menace majeure.

Les effets XSS vont de la nuisance mineure au risque de sécurité important, en fonction de la sensibilité des données traitées par le site vulnérable et de la nature des mesures de sécurité mises en œuvre par le réseau propriétaire du site.

Il n'existe pas de classification unique et normalisée des failles exploitées par XSS, mais la plupart des experts distinguent au moins deux types principaux de failles XSS :

  • Faille non persistante
  • Faille persistante

Certaines sources divisent encore ces deux groupes en deux sous-groupes :

  • Faille traditionnelle (causée par des défauts de code côté serveur)
  • Faille basée sur DOM, côté client (Le « Document Object Model » [DOM] est une interface de programmation normalisée par le W3C, qui permet à des scripts d'examiner et de modifier le contenu du navigateur Web.).




Un résumé par la société de sécurité (antivirus…) Kaspersky :


Les attaques XSS consistent à insérer un code malveillant dans des sites Web par ailleurs fiables. Une attaque XSS se produit quand des cybercriminels injectent un script malveillant dans le contenu du site Web ciblé, qui est ensuite inclus dans le contenu dynamique reçu par le navigateur de la victime. Il est impossible pour le navigateur de différencier les balises valides de celles du hacker et il se contente donc de les exécuter.

Par conséquent, ces scripts malveillants peuvent accéder aux cookies, aux jetons de session ou à d’autres informations sensibles conservées par le navigateur et utilisées sur ce site. Les hackers peuvent aussi se servir du XSS pour diffuser un malware, réécrire le contenu du site, perturber des réseaux sociaux et hameçonner les identifiants d’un utilisateur. Contrairement à d’autres attaques en ligne, les attaques XSS ne ciblent pas directement l’application elle-même, mais plutôt ses utilisateurs.


Certains caractères de nos alphabets ont, à certains moments, lorsque les navigateurs Web les rencontrent, non pas une signification toute simple de caractère d'un alphabet, mais une fonction (telles que celles que l'on rencontre, par exemple, dans des URL). Les navigateurs Web ne peuvent pas toujours distinguer entre « caractère tout bête » ou « fonction ».

Il existe quelques techniques d'écriture des pages Web (le langage HTML) qui permettent d'empêcher certaines actions qui constitueraient des failles de sécurité. Exemple : utiliser la fonction PHP (Hypertext Preprocessor)
htmlspecialchars()
Elle permet de remplacer à la volée des caractères qui peuvent être actifs en caractères passifs.

  • Le caractère & devient &
  • Le caractère " devient "
  • Le caractère ' devient '
  • Etc.

Pour les webmasters et les développeurs, voir :



Utiliser NoScript.



  • XSS - attaque Cross-site scripting (Scripts intersites)

  • clever-age (FR) - attaques XSS

  • Réseau C E R T A - Ministère de l'Éducation Nationale (FR; pdf; 17 pages) - Sécurisation des applications Web - Vulnérabilités de type XSS (Cross Site Scripting)

    XSS - Ressources spécifiques

    Ressources externes sur ce sujet XSS - cross-site scripting attacks


    1. vaadata (FR) - attaques XSS

    2. clever-age (FR) - attaques XSS

    3. Réseau C E R T A - Ministère de l'Éducation Nationale (FR; pdf; 17 pages) - Sécurisation des applications Web - Vulnérabilités de type XSS (Cross Site Scripting)



    Les encyclopédies

    1. Encyclopédie des termes et concepts informatique et Internet # Liste

    2. Encyclopédie des acronymes, sigles et abréviations # Liste

    3. Encyclopédie de la terminologie officielle française # Liste

    4. Encyclopédie de la terminologie Warez, DDL et P2P # Liste