Le cross-site scripting (abrégé en XSS) est un type de faille de sécurité de sites Internet. Des scripts malveillants sont introduits (le terme « injecté » est habituellement utilisé) dans des sites Web, afin de pouvoir attaquer les systèmes des utilisateurs. Les scripts sont des programmes dans des langues de script (JavaScript par exemple), qui sont exécutés dans le navigateur d'Internet. Il existe des variantes inoffensives telles que les fenêtres pop-up. Dans le pire des cas, les attaquants (ou pirates) pourront se procurer des informations sensibles en utilisant ce script ou alors accéder aux ordinateurs des internautes dans le plus grand secret.
Le danger potentiel du cross-site scripting est qu’il peut transférer les données des utilisateurs au navigateur sans vérification. C’est ainsi que des scripts malveillants peuvent atteindre les clients concernés. A partir de là, les applications peuvent manipuler les scripts côté serveur tels que les formulaires d’inscription des utilisateurs. Ce processus d’inscription semble fonctionner, l’internaute le considère comme anonyme et verrouille alors les données qui sont transférées sans filtre.
Le but de ces attaques exploitant une faille XSS n’est pas seulement de voler des données sensibles et de rendre vulnérable le client concerné. Ces scripts sont divers et variés. D’un côté, il y a ceux qui font passer les clients pour des pirates informatiques et qui utilisent les techniques de hameçonnage ainsi que des programmes malveillants. De l’autre côté, on compte ceux qui modifient des sites Internet pour les discréditer. Ces attaquants restent la plupart du temps anonymes.