Le Cross site scripting, abrégé XSS, est un type de faille de sécurité des sites Web, que l'on trouve typiquement dans les applications Web qui peuvent être utilisées par un attaquant pour faire afficher des pages web contenant du code douteux. Il est abrégé XSS pour ne pas être confondu avec le CSS (feuilles de style), X étant une abréviation commune pour "cross" (croix) en anglais.
Le terme Cross site scripting n'est pas une description très précise de ce type de vulnérabilité. Mark Slemko, pionnier du XSS, en disait
Le problème n'est pas simplement le 'scripting', et il n'y a pas forcément quelque chose entre plusieurs sites. Alors pourquoi ce nom ? En fait, le nom a été donné quand le problème était moins bien compris, et c'est resté. Croyez moi, nous avions des choses plus importantes à faire que de réfléchir à un meilleur nom.
Le principe est d'injecter des données arbitraires dans un site web, par exemple en déposant un message dans un forum, mais aussi par des paramètres d'URL, etc. Si ces données arrivent telles quelles dans la page web transmise au navigateur (par les paramètres d'URL, un message posté, etc.) sans avoir été vérifié, alors il existe une faille : on peut s'en servir pour faire exécuter du code malveillant en langage de script (du JavaScript le plus souvent) par le navigateur web qui consulte cette page.
Pour vérifier la présence d'une faille XSS, il suffit de faire passer un script, par exemple
<script>alert('bonjour')</script>
qui provoquera l'affichage d'une boîte de dialogue.
Les risques
L'exploitation d'une faille de type XSS peut permettre à un intrus de réaliser les opérations suivantes :
• Affichage d'un contenu non interne au site (publicité, faux article)
• Redirection (parfois de manière transparente) de l'utilisateur.
• Vol d'informations, par exemple sessions et cookies.
• Actions sur le site faillible, à l'insu de la victime et sous son identité (envois de messages, suppression de données, etc.)
Une faille de type XSS est à l'origine de la propagation des virus sur MySpace en 2005 ainsi que de Yamanner sur Yahoo!Mail en 2006.