Société de Sécurité Informatique - Audit Firewall Appliances
La sécurité informatique - La sécurité des informations

Le Cross Site Scripting


Introduction


Le Cross Site Scripting (XSS) est une attaque qui est rarement prise au sérieux par les non-initiés. En effet, à la différence de nombreuses techniques de piratage, celle-ci ne s'attaque pas à un serveur mais à l'internaute via une faille au niveau d'un serveur Web ou d'une application Web.

L'abréviation de Cross Site Scripting est "XSS" car en anglais, le "X" se prononce "cross", mais aussi parce que "CSS" fait référence à "Cross Site Scripting" (les développeurs web comprendrons).

Le principe

Il est plus simple d'expliquer cette faille par l'exemple. Soit le site www.unsitecomplice.fr, le moyen de vérifier s'il est vulnérable à une attaque de type CSS est de demander l'affichage d'une page inexistante. La particularité du nom de cette page est le fait qu'il contient des balises HTML :

http://www.unsitecomplice.fr/<B>nimportequoi</B>.html

Le site renvoie une page du type :

Erreur la page nimportequoi.html est introuvable.

Le site est bien vulnérable puisqu'il a renvoyé une page contenant le nom du fichier introuvable mais surtout parce que les balises HTML sont conservées. Le navigateur interprète donc le code HTML (ici les balises mettent simplement le texte en gras).
Bien entendu, il existe une multitude d'injections HTML différentes. Il ne tient qu'à vous d'imaginer toutes les possibilités...

Les conséquences possibles


Les conséquences semblent anodines au premier abord. Mais le CSS est exploitable de la manière suivante. Un pirate va envoyer un mail en HTML à sa victime. Ce mail comporte un lien sur un site vulnérable à un CSS que la victime a pour habitude de visiter. Les conséquences deviennent graves à partir du moment où le code HTML passé dans l'URL permet l'exécution de Javascript (balise <SCRIPT>) sur la machine de l'utilisateur. Effectivement, le pirate connaissant bien le Javascript peut facilement récupérer le cookie de la victime utilisé sur ce même site. La gravité croît alors avec la sensibilité des informations contenues dans le cookie (authentification, identificateur de session, ...)

Le CSS est une technique déclinable pour les applications Web, cette attaque fonctionne dès que l'application restitue dans un message le nom d'un fichier ou d'un paramètre présent dans une URL sans prendre en compte l'éventuelle présence de balises HTML.

Comment éviter ce type de faille


Chaque élément de l'URL subissant un traitement doit obligatoirement être filtré afin d'ôter toutes les balises HTML. Une simple transformation peut suffire pour les rendre inexécutables (par exemple le caractère < est remplacé par &lt; que le navigateur affiche bien < mais sans l'interpréter).

L'installation d'un firewall applicatif web (WAF) prend tout son intérêt dans ce contexte. Vous pouvez utiliser, par exemple, Raptor WAF.

Pour aller plus loin


Vous pouvez utiliser des outils dédiés à ce type d'attaque pour tester votre site/applicatif web comme par exemple XSStrike
Valgasu et Arnaud Jacques
28 Janvier 2002 / 2018

Partagez cet article

Envoyer cet article par Email ! Imprimer cet article ! Exporter cet article en PDF ! Facebook Twitter Google Bookmarks

SecuriteInfo.com est une entreprise française de sécurité informatique. Nous proposons différentes solutions matérielles et prestations de services permettant de sécuriser les données des Systèmes d'Information d'entreprises ou de collectivités. Notre périmètre d'intervention couvre l'intégralité de votre système d'information : Sécurité périmétrique, réseaux, accès distants, VPN, solutions anti-spam et anti-malwares, différents audits réseaux et systèmes, vérification de la politique de sécurité, hébergement sécurisé ...
Facebook SecuriteInfo.com
Twitter de SecuriteInfo.com
Github de SecuriteInfo.com
Calculs scientifiques distribués contre les maladies, équipe SecuriteInfo.com
Profil Virustotal de SecuriteInfo.com
© 2004-2018 - Tous droits réservés - SecuriteInfo.com