XSS

Le XSS est l'abréviation de cross-site scripting. Il s'agit d'un type de faille de sécurité sur les sites web. Cette faille repère l'endroit où des sites web dynamique (forum, blog ...) récupère des données entré par un utilisateur sans les avoir filtrer au préalable. Si les données utilisateurs contienne du code HTML par exemple, et que ce n'est pas filtré, alors il est possible d'insérer du code javascript malicieux.

Exemple d'utilisation de la faille XSS

Il est possible d'exécuter un script ou bout de code HTML pour causer les dégâts suivants (liste non-exhaustive):

  • Rediriger les utilisateurs vers une autre page web
  • Bloquer ou pénaliser l'utilisation du site (exemple: boucle infinie qui ouvre des fenêtres d'alertes)
  • Effectuer des actions sur le site de manière transparente (supprimer des messages, ajouter des messages ...)
  • Vol de données
  • Ajouter un lien sur une page. Cette technique est couramment utilisé par les référenceurs black hat

Éviter la faille

Bien que la faille soit le plus souvent exploiter par un script Javascript malicieux, ce n'est pas toujours le cas. Pour éviter de subir d'une telle faille il convient de penser à filtrer tout contenu HTML côté serveur, avant de l'envoyer côté client (cf. un internaute). En PHP par exemple il convient d'utiliser au choix htmlspecialchars(), htmlentities() ou bien encore strip_tags().

Il y a aussi une technique qui consiste à normaliser les noms de variable. Par exemple il est possible de toujours commencer le nom de ses variables par "_v". Si une variable ne commence pas de cette façon, alors il faut juste l'ignorer. Ainsi si un utilisateur malveillant arrive à injecter du code qui ne respecte pas cette petite astuce, son code ne sera pas lu.

Partager :
Faire un lien :

Glossaire du webmaster