Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
domdig — Scanner DOM XSS pour les applications monopages | Kitploit
Outils/GitHubGitHub/fcavallarin/domdig
Scanners de VulnérabilitésScanners de Vulnérabilités WebAnalyse Dynamique (Sandboxing)Sécurité WebFuzzing
GitHubfcavallarin/domdig

domdig

Scanner DOM XSS pour les applications monopages

Voir le dépôt
42050il y a 10 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

DOMDig

DOMDig est un scanner DOM XSS qui s'exécute dans le navigateur Chromium et peut analyser récursivement les applications monopages (SPA).
Contrairement aux autres scanners, DOMDig peut explorer n'importe quelle application web (y compris Gmail) en suivant les modifications du DOM et les requêtes XHR/fetch/websocket, et peut simuler une interaction utilisateur réelle en déclenchant des événements. Pendant ce processus, des charges utiles XSS sont placées dans les champs de saisie et leur exécution est suivie afin de trouver les points d'injection et les modifications d'URL associées.
Il est basé sur htcrawl, une bibliothèque Node suffisamment puissante pour explorer facilement un compte Gmail.

FONCTIONNALITÉS CLÉS

  • S'exécute dans un navigateur réel (Chromium)
  • Moteur d'exploration DOM récursif
  • Gère les requêtes XHR, fetch, JSONP et websockets
  • Prend en charge les cookies, proxy, en-têtes personnalisés, authentification HTTP, etc.
  • Séquences de connexion scriptables
  • Enregistreur de séquences
  • Fuzzer postMessage

POUR COMMENCER

Installation

root@kitploit:~
git clone https://github.com/fcavallarin/domdig.git
cd domdig && npm i && cd ..
node domdig/domdig.js

Exemple

root@kitploit:~
node domdig.js -c 'foo=bar' -p http:127.0.0.1:8080 https://fcvl.net/htcap/scanme/domxss.php

VÉRIFICATIONS EFFECTUÉES

DOMDig peut effectuer trois vérifications différentes :

  1. DOM XSS
  2. Stored DOM XSS
  3. Template Injection
  4. postMessage XSS

DOM XSS

La vérification DOM XSS peut être configurée avec différents modes, permettant différents comportements. Par défaut, tous sont activés.
Les modes sont :

  1. domscan
  2. fuzz

domscan

Il explore le DOM à la recherche d'endroits où l'utilisateur peut injecter du code JavaScript, par exemple une zone de texte. Il peut découvrir des points d'injection qu'un scanner ne peut pas deviner. Un exemple pourrait être une fonctionnalité de recherche qui prend le texte d'une zone de saisie et, pour déclencher la recherche, le place dans le hachage de l'URL sous forme de chaîne JSON.

fuzz

Il fuzz l'URL (paramètres de requête et le hachage) pour voir si notre code s'exécute au chargement de la page. Si aucun code ne s'exécute, il explore le DOM en déclenchant des événements HTML dans l'espoir de trouver quelque chose qui exécute notre charge utile.
Il peut également découvrir le classique XSS réfléchi.

Stored DOM XSS

Après une vérification DOM XSS, DOMDig explore la même page en attendant l'exécution des charges utiles précédemment utilisées. Si l'une d'elles est trouvée, cela signifie qu'elle peut survivre aux rechargements de page.

Template Injection

Recherche les endroits où les espaces réservés de template (par exemple {var1}) peuvent être évalués en tant que code JavaScript.

VULNÉRABILITÉS SIGNALÉES

Chaque vulnérabilité signalée contient les champs suivants :

  1. type : le type de vulnérabilité, il peut s'agir de domxss, stored ou templateinj
  2. url : l'URL de la page où la vulnérabilité a été trouvée
  3. payload : la charge utile utilisée
  4. element : le sélecteur CSS de l'élément HTML, le cas échéant, où nous avons injecté notre charge utile
  5. description : une description textuelle
  6. confirmed : une vulnérabilité est considérée comme confirmée lorsque l'URL contient la charge utile de l'attaque. Si elle n'est pas confirmée, cela signifie que le code a été exécuté avec succès, mais qu'une analyse manuelle peut être nécessaire pour comprendre la relation entre la charge utile injectée et le schéma d'URL.

MOTEUR D'EXPLORATION

DOMDig utilise htcrawl comme moteur d'exploration.
Le diagramme montre le processus d'exploration récursive.
SPA Crawling Diagram.
La vidéo ci-dessous montre le moteur en train d'explorer Gmail. L'exploration a duré plusieurs heures et environ 3000 requêtes XHR ont été capturées.

exploration de Gmail

SÉQUENCE DE CONNEXION

Une séquence de connexion (ou séquence initiale) est un objet JSON contenant une liste d'actions à effectuer avant le début de l'analyse. Chaque élément de la liste est un tableau où le premier élément est le nom de l'action à effectuer et les éléments restants sont des « paramètres » de ces actions. Les actions sont :

  • navigate
  • write
  • select
  • click
  • clickToNavigate
  • sleep
  • setTarget

Exemple

root@kitploit:~
[
   ["navigate", "https://target.local/login-page"],
   ["write", "#username", "demo"],
   ["write", "#password", "demo"],
   ["sleep", 2],
   ["clickToNavigate", "#btn-login"]
]

FICHIER DE CHARGES UTILES

Les charges utiles peuvent être chargées à partir d'un fichier JSON (option -P) sous forme de tableau de chaînes. Pour créer des charges utiles personnalisées, la chaîne window.___xssSink({0}) doit être utilisée comme fonction à exécuter (au lieu du classique alert(1))

Exemple

root@kitploit:~
[
   ';window.___xssSink({0});',
   '<img src="https://raw.githubusercontent.com/fcavallarin/domdig/HEAD/a" onerror="window.___xssSink({0})">'
]
Télécharger l’outil