Comment ça marche ? qu'elle est le principe de base derrière la faille XSS déjà une grande partie des failles sur les sites internet ou sur des logiciels se résume uniquement à la possibilité d'injecter d'exécuter du code malveillant qu'on aura choisi juste avant une fois que l'attaquant aura réussi à faire ça il pourra quasiment tout faire pour la machine ou sur le navigateur selon le niveau privilège de la victime , on peut quasiment tout faire et l'idée c'est qu'avec une faille XSS on pourra exercer du code JavaScript qu'on auras choisi sur le navigateur de la victime, le code JavaScript en développement web et permettent d'interagir avec un navigateur et la page par exemple il seras possible de bouger de modifier ou de supprimer des éléments sur la page du texte des images etc. et aussi se connecter à un serveur récupérer des informations sensibles ou même créer des jeux vidéo ainsi que des choses malveillante et c'est ça qui nous intéressait nous intéressait pour information XSS signifie CROSS SITE SCRIPTING ou script intersites en FR) oui les initiales c'est XSS juste que l' initiales CSS est déjà pris je sais c'est un langage de style qui permet de modifier les éléments du texte ou des images et de les utiliser sur la page si on disait ça serait un petit peu bizarre.
Voici un petit exemple de comment ça marche je fais un petit schéma pour illustrer cela un petit tchat ou les deux utilisateurs user et admin peuvent communiquer entre ici les deux utilisateurs seront sur les navigateurs différents cela revient exactement au même que si c'était sur des ordinateurs différents et on va poster des messages et si l'on a rafraîchi la page les messages s'affichent OK c'est très bien le chat a l'air de marcher maintenant a la place de poster un message on vas essayer de poster une image si je passe le lien de l'image tout sur le tchat cela ne marche pas vraiment car on a juste le texte qui s'affiche et c'est normal le lien de l'image ça reste du texte on va essayer de ruser un petit peu.
Lorsqu'on a posté le message c'est d'abord enregistré dans une base de donnée. pour être stockée de façon permanente là-bas , puis lors du chargement de la page le navigateur récupère ce qu'il y a dans la base de données pour l'afficher dans le navigateur sous format HTML dans des balises donc dans des bouts de code <p> ici comme paragraphe indiquant que c'est du texte et c'est la même chose pour le lien de l'image le lien sera entre des balises <p> Si vous voulez connaitre plus sur le HTML cliquez la : GO </p> ainsi le navigateur pourra l'interpréter comme du texte et maintenant on vas tromper le navigateur on sait que la syntaxe pour afficher une image est: <img src="../Images/Pandacodeur.png" /> avec le lien de l'image dans l'attribut src et si on poste ça dans le chat que se passe-t-il ça va d'abord parce que dans être stockées dans la base de données puis quand le client va changer la page ça sera toute la balise IMG qui sera chargé et ainsi l'image sera interprétée par le navigateur comme de l'HTML et non du texte brut entre les balises P et ainsi une image s'affichera quand on a mis une balise IMG valide.
Ok mais imaginons maintenant que le poster une simple image je passe à autre chose comme par exemple du code JavaScript on sait que la balise pour le javascript c'est script est dedans je peux mettre tous le code JavaScript que je veux comme pour l'image vue plus haut sachez c'est que 100% possible pour tester ça je vais mettre un script Basic qui tu vas juste afficher ok sur le navigateur et on va le poster il seras donc enregistrées dans la base de données une fois que le client va se connecter il vas charger le script dans le HTML et cela va être interprétés par les navigateurs comme du JavaScript et on verra que cela marche très bien on a réussi à exécuter du code JavaScript on verra après comme une personne pourras faire des choses malveillante avec je précise que cette faille s'appelle une faille XSS stockée ou une faille XSS permanente car chaque fois qu'on va recharger la page le code JavaScript exécuté une nouvelle fois pourquoi car le serveur va charger tous les messages dans la base de données et cela comprend le message avec le code JavaScript malveillants ainsi que d'une personne d'accéder à cette page elle sera ciblés par le code malveillant mais ce n'est pas le seul type de Faille XSS.