Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
domdig — DOM XSS-Scanner für Single-Page-Anwendungen | Kitploit
Tools/GitHubGitHub/fcavallarin/domdig
SchwachstellenscannerWeb-SchwachstellenscannerDynamische Analyse (Sandboxing)WebsicherheitFuzzing
GitHubfcavallarin/domdig

domdig

DOM XSS-Scanner für Single-Page-Anwendungen

Repository anzeigen
42050vor 10 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DOMDig

DOMDig ist ein DOM-XSS-Scanner, der im Chromium-Webbrowser läuft und Single-Page-Anwendungen (SPA) rekursiv scannen kann.
Im Gegensatz zu anderen Scannern kann DOMDig jede Webanwendung (einschließlich Gmail) crawlen, indem es DOM-Änderungen und XHR-/Fetch-/WebSocket-Anfragen verfolgt und durch das Auslösen von Ereignissen eine echte Benutzerinteraktion simuliert. Während dieses Prozesses werden XSS-Payloads in Eingabefelder eingefügt und deren Ausführung überwacht, um Injektionspunkte und die damit verbundenen URL-Änderungen zu finden.
Es basiert auf htcrawl, einer leistungsstarken Node-Bibliothek, die problemlos ein Gmail-Konto crawlen kann.

HAUPTMERKMALE

  • Läuft in einem echten Browser (Chromium)
  • Rekursive DOM-Crawl-Engine
  • Verarbeitet XHR-, Fetch-, JSONP- und WebSocket-Anfragen
  • Unterstützt Cookies, Proxy, benutzerdefinierte Header, HTTP-Authentifizierung und mehr
  • Skriptierbare Login-Sequenzen
  • Sequenz-Rekorder
  • PostMessage-Fuzzer

ERSTE SCHRITTE

Installation

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

Beispiel

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

DURCHGEFÜHRTE PRÜFUNGEN

DOMDig kann drei verschiedene Prüfungen durchführen:

  1. DOM-XSS
  2. Gespeichertes DOM-XSS
  3. Template-Injection
  4. postMessage-XSS

DOM-XSS

Die DOM-XSS-Prüfung kann mit verschiedenen Modi konfiguriert werden, die unterschiedliche Verhaltensweisen ermöglichen. Standardmäßig sind alle aktiviert.
Die Modi sind:

  1. domscan
  2. fuzz

domscan

Durchsucht das DOM nach Stellen, an denen ein Benutzer JavaScript-Code injizieren kann, z. B. ein Textfeld. Es kann Injektionspunkte entdecken, die von einem Scanner nicht erraten werden können. Ein Beispiel könnte eine Suchfunktion sein, die den Text eines Eingabefeldes nimmt und ihn zur Suche als JSON-String in den URL-Hash einfügt.

fuzz

Fuzzt die URL (Query-Parameter und den Hash), um zu sehen, ob unser Code beim Laden der Seite ausgeführt wird. Wenn kein Code ausgeführt wird, durchsucht es das DOM und löst HTML-Ereignisse aus, in der Hoffnung, etwas zu finden, das unser Payload ausführt.
Es kann auch das klassische Reflected-XSS entdecken.

Gespeichertes DOM-XSS

Nachdem eine DOM-XSS-Prüfung durchgeführt wurde, durchsucht DOMDig dieselbe Seite erneut und wartet auf die Ausführung zuvor verwendeter Payloads. Wenn einer gefunden wird, bedeutet dies, dass er Seitenneuladungen überlebt.

Template-Injection

Sucht nach Stellen, an denen Template-Platzhalter (z. B. {var1}) als JavaScript-Code ausgewertet werden können.

GEMELDETE SCHWACHSTELLEN

Jede gemeldete Schwachstelle enthält die folgenden Felder:

  1. type: Der Typ der Schwachstelle; kann domxss, stored oder templateinj sein.
  2. url: Die URL der Seite, auf der die Schwachstelle gefunden wurde.
  3. payload: Der verwendete Payload.
  4. element: Der CSS-Selektor des HTML-Elements (falls vorhanden), in das der Payload injiziert wurde.
  5. description: Eine textuelle Beschreibung.
  6. confirmed: Eine Schwachstelle gilt als bestätigt, wenn die URL den Angriffs-Payload enthält. Ist sie nicht bestätigt, bedeutet dies, dass der Code erfolgreich ausgeführt wurde, aber eine manuelle Analyse erforderlich sein kann, um den Zusammenhang zwischen dem injizierten Payload und dem URL-Schema zu verstehen.

CRAWL-ENGINE

DOMDig verwendet htcrawl als Crawling-Engine.
Das Diagramm zeigt den rekursiven Crawling-Prozess.
SPA Crawling Diagramm.
Das folgende Video zeigt die Engine beim Crawlen von Gmail. Der Crawl dauerte viele Stunden und es wurden etwa 3000 XHR-Anfragen erfasst.

Crawling Gmail

LOGIN-SEQUENZ

Eine Login-Sequenz (oder Anfangssequenz) ist ein JSON-Objekt, das eine Liste von Aktionen enthält, die vor dem Scanstart ausgeführt werden sollen.
Jedes Element der Liste ist ein Array, bei dem das erste Element der Name der auszuführenden Aktion ist und die restlichen Elemente "Parameter" für diese Aktion sind.
Aktionen sind:

  • navigate <url>
  • write <selector> <text>
  • select <selector> <value>
  • click <selector>
  • clickToNavigate <selector>
  • sleep <seconds>
  • setTarget <selector>

Beispiel

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

PAYLOADS-DATEI

Payloads können aus einer JSON-Datei (-P Option) als Array von Strings geladen werden. Um benutzerdefinierte Payloads zu erstellen, muss der String window.___xssSink({0}) als auszuführende Funktion verwendet werden (anstelle des klassischen alert(1)).

Beispiel

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