Bypassing SOP with Iframes - 1
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 dieser Herausforderung, die von NDevTK und Terjanq erstellt wurde, müssen Sie eine XSS in dem kodierten
Das Hauptproblem ist, dass die Hauptseite DomPurify verwendet, um data.body
zu senden. Um also Ihre eigenen HTML-Daten an diesen Code zu senden, müssen Sie e.origin !== window.origin
umgehen.
Lassen Sie uns die vorgeschlagene Lösung ansehen.
Wenn //example.org
in ein sandboxed iframe eingebettet ist, wird der Ursprung der Seite null
sein, d.h. window.origin === null
. Durch das Einbetten des iframes über <iframe sandbox="allow-scripts" src="https://so-xss.terjanq.me/iframe.php">
könnten wir den null
Ursprung erzwingen.
Wenn die Seite einbettbar war, könnten Sie diesen Schutz auf diese Weise umgehen (Cookies müssen möglicherweise auch auf SameSite=None
gesetzt werden).
Die weniger bekannte Tatsache ist, dass wenn der sandbox-Wert allow-popups
gesetzt ist, dann wird das geöffnete Popup alle sandboxed Attribute erben, es sei denn, allow-popups-to-escape-sandbox
ist gesetzt.
Das Öffnen eines Popups von einem null Ursprung wird window.origin
im Popup ebenfalls null
machen.
Daher könnte man für diese Herausforderung ein iframe erstellen, ein Popup zur Seite mit dem anfälligen XSS-Code-Handler (/iframe.php
) öffnen, da window.origin === e.origin
, weil beide null
sind, ist es möglich, eine Payload zu senden, die das XSS ausnutzt.
Diese Payload wird die Kennung erhalten und ein XSS zurück zur Hauptseite senden (die Seite, die das Popup geöffnet hat), die die Position zur anfälligen /iframe.php
ändern wird. Da die Kennung bekannt ist, spielt es keine Rolle, dass die Bedingung window.origin === e.origin
nicht erfüllt ist (denken Sie daran, der Ursprung ist das Popup vom iframe, das Ursprung null
hat), weil data.identifier === identifier
. Dann wird das XSS erneut ausgelöst, diesmal im richtigen Ursprung.
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)