Bypassing SOP with Iframes - 2
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
In der Lösung für diese Herausforderung, @Strellic_ schlägt eine ähnliche Methode wie im vorherigen Abschnitt vor. Lass es uns überprüfen.
In dieser Herausforderung muss der Angreifer bypassen:
Wenn er das tut, kann er eine postmessage mit HTML-Inhalt senden, die auf der Seite mit innerHTML
ohne Sanitization (XSS) geschrieben wird.
Der Weg, um die erste Überprüfung zu umgehen, besteht darin, window.calc.contentWindow
auf undefined
und e.source
auf null
zu setzen:
window.calc.contentWindow
ist tatsächlich document.getElementById("calc")
. Sie können document.getElementById
mit <img name=getElementById />
überschreiben (beachten Sie, dass die Sanitizer API -hier- nicht konfiguriert ist, um gegen DOM-Clobbering-Angriffe in ihrem Standardzustand zu schützen).
Daher können Sie document.getElementById("calc")
mit <img name=getElementById /><div id=calc></div>
überschreiben. Dann wird window.calc
undefined
sein.
Jetzt müssen wir e.source
auf undefined
oder null
setzen (weil ==
anstelle von ===
verwendet wird, ist null == undefined
True
). Dies zu erreichen ist "einfach". Wenn Sie ein iframe erstellen und eine postMessage von ihm senden und das iframe sofort entfernen, wird e.origin
null
sein. Überprüfen Sie den folgenden Code.
Um die zweite Überprüfung bezüglich des Tokens zu umgehen, wird token
mit dem Wert null
gesendet und der Wert von window.token
auf undefined
gesetzt:
Das Senden von token
in der postMessage mit dem Wert null
ist trivial.
window.token
wird beim Aufruf der Funktion getCookie
verwendet, die document.cookie
nutzt. Beachten Sie, dass jeder Zugriff auf document.cookie
in null
Ursprungsseiten einen Fehler auslöst. Dies führt dazu, dass window.token
den Wert undefined
hat.
Die endgültige Lösung von @terjanq ist die folgende:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)