DOM Invader
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
DOM Invader ist ein Browser-Tool, das im integrierten Browser von Burp installiert ist. Es hilft bei der Erkennung von DOM XSS-Schwachstellen mithilfe verschiedener Quellen und Senken, einschließlich Webnachrichten und Prototyp-Verschmutzung. Das Tool ist als Erweiterung vorinstalliert.
DOM Invader integriert einen Tab im DevTools-Panel des Browsers, der Folgendes ermöglicht:
Identifizierung von kontrollierbaren Senken auf einer Webseite für DOM XSS-Tests, die Kontext- und Sanitierungsdetails bereitstellt.
Protokollierung, Bearbeitung und erneutes Senden von Webnachrichten, die über die postMessage()
-Methode für DOM XSS-Tests gesendet werden. DOM Invader kann auch automatisch Schwachstellen mithilfe speziell gestalteter Webnachrichten erkennen.
Erkennung von client-seitigen Prototyp-Verschmutzungsquellen und Scannen von kontrollierbaren Gadgets, die an riskante Senken gesendet werden.
Identifizierung von DOM-Clobbering-Schwachstellen.
Gehe im integrierten Browser von Burp zur Burp-Erweiterung und aktiviere sie:
Jetzt aktualisiere die Seite und im Dev Tools findest du den DOM Invader-Tab:
Im vorherigen Bild siehst du eine zufällige Gruppe von Zeichen, das ist der Canary. Du solltest jetzt beginnen, ihn in verschiedenen Teilen des Webs (Parameter, Formulare, URL...) zu injizieren und jedes Mal auf Suchen klicken. DOM Invader wird überprüfen, ob der Canary in einer interessanten Senke gelandet ist, die ausgenutzt werden könnte.
Darüber hinaus öffnen die Optionen Inject URL params und Inject forms automatisch einen neuen Tab, der den Canary in jeden URL-Parameter und Formular injiziert, den er findet.
Wenn du nur potenzielle Senken finden möchtest, die die Seite haben könnte, auch wenn sie nicht ausnutzbar sind, kannst du nach einem leeren Canary suchen.
DOM Invader ermöglicht das Testen von DOM XSS mithilfe von Webnachrichten mit Funktionen wie:
Protokollierung von Webnachrichten, die über postMessage()
gesendet werden, ähnlich der Protokollierung des HTTP-Anforderungs-/Antwortverlaufs von Burp Proxy.
Änderung und erneutes Senden von Webnachrichten, um manuell auf DOM XSS zu testen, ähnlich der Funktion von Burp Repeater.
Automatische Änderung und das Senden von Webnachrichten zur Überprüfung von DOM XSS.
Detaillierte Informationen zu jeder Nachricht können durch Klicken darauf angezeigt werden, einschließlich, ob das client-seitige JavaScript auf die Eigenschaften origin
, data
oder source
der Nachricht zugreift.
origin
: Wenn die Ursprungsinformationen der Nachricht nicht überprüft werden, kannst du möglicherweise Cross-Origin-Nachrichten an den Ereignishandler von einer beliebigen externen Domain senden. Aber wenn es überprüft wird, könnte es trotzdem unsicher sein.
data
: Hier wird die Payload gesendet. Wenn diese Daten nicht verwendet werden, ist die Senke nutzlos.
source
: Bewertet, ob die Quell-Eigenschaft, die normalerweise auf ein iframe verweist, anstelle des Ursprungs validiert wird. Selbst wenn dies überprüft wird, garantiert es nicht, dass die Validierung nicht umgangen werden kann.
Klicke im Nachrichten-Bereich auf eine beliebige Nachricht, um das Dialogfeld mit den Nachrichtendetails zu öffnen.
Bearbeite das Daten-Feld nach Bedarf.
Klicke auf Senden.
DOM Invader kann auch nach Prototype Pollution-Schwachstellen suchen. Zuerst musst du es aktivieren:
Dann wird es nach Quellen suchen, die es dir ermöglichen, beliebige Eigenschaften zum Object.prototype
hinzuzufügen.
Wenn etwas gefunden wird, erscheint ein Test-Button, um die gefundene Quelle zu testen. Klicke darauf, ein neuer Tab wird erscheinen, erstelle ein Objekt in der Konsole und überprüfe, ob die testproperty
existiert:
Sobald Sie eine Quelle gefunden haben, können Sie nach einem Gadget scannen:
Ein neuer Tab wird von DOM Invader geöffnet, wenn der Scan for gadgets-Button, der neben jeder identifizierten Prototype Pollution-Quelle in der DOM-Ansicht zu finden ist, angeklickt wird. Der Scan nach geeigneten Gadgets beginnt dann.
In der gleichen Registerkarte sollte inzwischen der DOM Invader-Tab im DevTools-Panel geöffnet sein. Nach Abschluss des Scans werden alle über die identifizierten Gadgets zugänglichen Sinks in der DOM-Ansicht angezeigt. Zum Beispiel wird eine Gadget-Eigenschaft namens html
, die an den innerHTML
-Sink übergeben wird, im folgenden Beispiel angezeigt.
Im vorherigen Bild ist zu sehen, dass der DOM Clobbering-Scan aktiviert werden kann. Sobald dies geschehen ist, beginnt DOM Invader nach DOM Clobbering-Schwachstellen zu suchen.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)