Web9 : Types dexploitation XSS - Partie 3 : XSS basé sur Dom

Web9 : Types dexploitation XSS - Partie 3 : XSS basé sur Dom

Nous avons déjà évoqué deux types d' exploits XSS : réfléchis et stockés. Ils ont tous la particularité commune qu'un code dangereux, après avoir été inséré, sera exécuté après la réponse du serveur, ce qui signifie que l'erreur se situe du côté du serveur. Il existe un autre type d'exploitation XSS qui va à l'encontre de cette fonctionnalité, le code malveillant est exécuté immédiatement côté client sans passer par le serveur, connu sous le nom de DOM Based XSS ou également connu sous le nom de type 0 XSS.

Tout d’abord, nous devons savoir ce qu’est le DOM ?

DOM, abréviation de Document Object Model, est une forme standard du W3C (http://www.w3.org/DOM/) proposée pour récupérer et manipuler les données de documents structurés tels que HTML et XML. Ce modèle représente les documents sous la forme d'une structure arborescente hiérarchique. Tous les éléments HTML et XML sont considérés comme un nœud.

DOM Based XSS est une technique d'exploitation XSS basée sur la modification de la structure DOM du document, notamment HTML.

Regardons un exemple spécifique ci-dessous :

Un site Web a l'URL suivante vers la page d'inscription :

example.com/register.php?message=Please fill in the form

Lorsque nous y accédons, nous voyons un formulaire très normal :

Web9 : Types d'exploitation XSS - Partie 3 : XSS basé sur Dom

Vous pouvez facilement déduire le paramètre message passé dans le contenu de la notification sur le formulaire, regardez attentivement le code source de cette notification :

Web9 : Types d'exploitation XSS - Partie 3 : XSS basé sur Dom

Le segment JavaScript est chargé d'obtenir la valeur du paramètre de message et de l'imprimer. À partir de cette vérification laxiste des entrées, il est tout à fait possible d’inciter les utilisateurs à accéder à des URL dangereuses.

Au lieu de lancer :

message=Please fill in the form

puis transmets :

message=GenderMaleFemale

function show(){alert();}

Le formulaire d’inscription ressemblera alors à ceci :

Web9 : Types d'exploitation XSS - Partie 3 : XSS basé sur Dom

Les utilisateurs ne se méfieront pas d'une forme "normale" comme celle-ci, et lors de la sélection du sexe, le Script sera exécuté :

Web9 : Types d'exploitation XSS - Partie 3 : XSS basé sur Dom

Je vais vous expliquer un peu plus la valeur passée dans le paramètre message :

GenderMaleFemale

function show(){alert();}

Son objectif principal est d'exécuter la fonction show() à chaque fois qu'il y a un événement onchage sur la balise select. La fonction show() ici apparaît simplement pour montrer que le script a été exécuté. Cependant, en réalité, les pirates utilisent souvent cette fonction show() pour exécuter un script qui transmet la valeur du cookie de l'utilisateur à un serveur prédéterminé. Les lecteurs peuvent consulter l'article Reflected XSS qui mentionne comment les pirates créent À quoi ressemble cette requête ?

Cet exemple nous donne deux conclusions importantes. Premièrement, le code malveillant a été exécuté immédiatement après avoir cliqué sur la valeur dans la balise select, ce qui signifie qu'il a été exécuté directement côté client sans passer par la réponse du serveur. Deuxièmement, la structure HTML a été modifiée avec le script transmis. Et nous pouvons également voir le scénario d'exploitation réel, DOM Based est un peu plus similaire à Reflected qu'à Stored XSS lorsqu'il s'agit d'inciter les utilisateurs à accéder à une URL contenant du code malveillant.

La figure suivante décrit chaque étape de la mise en œuvre de la technique d'attaque XSS basée sur DOM :

Web9 : Types d'exploitation XSS - Partie 3 : XSS basé sur Dom

Vous trouverez ci-dessous une vidéo d'un membre du forum WhiteHat.vn exécutant un exploit via DOM Based XSS :

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