Iframe Παγίδες
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Βασικές Πληροφορίες
Αυτός ο τρόπος κατάχρησης του XSS μέσω iframes για να κλέψει πληροφορίες από τον χρήστη καθώς αυτός περιηγείται στη σελίδα δημοσιεύτηκε αρχικά σε αυτά τα 2 άρθρα στο trustedsec.com: here and here.
Η επίθεση ξεκινά σε μια σελίδα ευάλωτη σε XSS όπου είναι δυνατό να κάνουμε τα θύματα να μην εγκαταλείπουν το XSS κάνοντάς τα να περιηγούνται εντός ενός iframe που καταλαμβάνει όλη την web εφαρμογή.
Η XSS επίθεση ουσιαστικά θα φορτώσει τη σελίδα σε ένα iframe που καταλαμβάνει το 100% της οθόνης. Επομένως, το θύμα δεν θα παρατηρήσει ότι βρίσκεται μέσα σε iframe. Στη συνέχεια, αν το θύμα περιηγηθεί στη σελίδα κάνοντας κλικ σε συνδέσμους μέσα στο iframe (εντός του web), θα περιηγείται μέσα στο iframe με το αυθαίρετο JS που έχει φορτωθεί να κλέβει πληροφορίες από αυτή την περιήγηση.
Επιπλέον, για να γίνει πιο ρεαλιστικό, είναι δυνατό να χρησιμοποιηθούν μερικοί listeners για να ελέγχουν πότε ένα iframe αλλάζει το location της σελίδας, και να ενημερώνουν το URL του browser με αυτές τις τοποθεσίες που ο χρήστης νομίζει ότι μετακινείται σε σελίδες χρησιμοποιώντας τον browser.
.png)
https://www.trustedsec.com/wp-content/uploads/2022/04/regEvents.png
.png)
https://www.trustedsec.com/wp-content/uploads/2022/04/fakeAddress-1.png
Επιπλέον, είναι δυνατό να χρησιμοποιηθούν listeners για να κλέψουν ευαίσθητες πληροφορίες, όχι μόνο τις άλλες σελίδες που επισκέπτεται ο χρήστης, αλλά και τα δεδομένα που χρησιμοποιήθηκαν για συμπλήρωση φορμών και να τα στείλουν (credentials?) ή να κλέψουν το local storage…
Φυσικά, οι κύριοι περιορισμοί είναι ότι ένα θύμα που κλείνει την καρτέλα ή εισάγει άλλο URL στον browser θα ξεφύγει από το iframe. Ένας άλλος τρόπος για να γίνει αυτό είναι να ανανεώσει τη σελίδα, ωστόσο, αυτό θα μπορούσε να προληφθεί εν μέρει με το να απενεργοποιείται το context menu δεξιού κλικ κάθε φορά που φορτώνεται μια νέα σελίδα μέσα στο iframe ή παρατηρώντας πότε ο δείκτης του χρήστη αφήνει το iframe, πιθανώς για να πατήσει το κουμπί reload του browser και σε αυτή την περίπτωση το URL του browser ενημερώνεται με το αρχικό URL ευάλωτο σε XSS έτσι αν ο χρήστης το ανανεώσει, θα μολυνθεί ξανά (σημειώστε ότι αυτό δεν είναι πολύ stealth).
Εκσυγχρονισμένη παγίδα (2024+)
- Χρησιμοποιήστε ένα full‑viewport iframe μαζί με το History/Navigation API για να μιμηθείτε πραγματική πλοήγηση.
Παγίδα iframe πλήρους προβολής
```html ```- Navigation API (
navigation.navigate,currententrychange) διατηρεί τη γραμμή URL του εξωτερικού πλαισίου σε συγχρονισμό χωρίς leak της πραγματικής διεύθυνσης URL. - Go fullscreen για να κρύψετε το browser UI και να σχεδιάσετε τη δική σας ψεύτικη γραμμή διευθύνσεων/padlock.
Χρήση Overlay & skimmer
- Συμβιβασμένοι έμποροι αντικαθιστούν hosted payment iframes (Stripe, Adyen, etc.) με ένα pixel‑perfect overlay που προωθεί τα keystrokes ενώ το πραγματικό frame παραμένει από κάτω, μερικές φορές χρησιμοποιώντας legacy validation APIs ώστε η ροή να μην διακόπτεται.
- Η παγίδευση χρηστών στο top frame συλλέγει δεδομένα autofill/password‑manager πριν παρατηρήσουν ότι η γραμμή URL δεν άλλαξε ποτέ.
Τεχνάσματα αποφυγής παρατηρημένα στην έρευνα του 2025
about:blank/data:local frames κληρονομούν το parent origin και παρακάμπτουν κάποιες content‑blocker heuristics; nested iframes μπορούν να επανεμφανιστούν ακόμα και όταν extensions καταργούν third‑party frames.- Permission propagation: η επανεγγραφή του parent
allowattribute παραχωρεί σε nested attacker frames fullscreen/camera/microphone χωρίς εμφανείς αλλαγές στο DOM.
Γρήγορες συμβουλές OPSEC
- Επαναφέρτε το focus στο iframe όταν ο δείκτης φεύγει (
mouseleaveστο body) για να εμποδίσετε τους χρήστες να φτάσουν το browser UI. - Απενεργοποιήστε το context menu και κοινά shortcuts (
keydownγιαF11,Ctrl+L,Ctrl+T) μέσα στο frame για να επιβραδύνετε τις προσπάθειες διαφυγής. - Εάν το CSP μπλοκάρει inline scripts, εγχύστε έναν remote bootstrapper και ενεργοποιήστε
srcdocστο iframe ώστε το payload σας να βρίσκεται εκτός του επιβαλλόμενου CSP της κύριας σελίδας.
Related
References
- Iframe security exposed: blind spot fueling payment skimmer attacks (2025)
- Local Frames: exploiting inherited origins to bypass blockers (2025)
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


