Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Σε αυτή τη ρύθμιση, ένα **content script** υλοποιείται γιανα δημιουργήσει ένα Iframe, ενσωματώνοντας μια διεύθυνση URL με παραμέτρους ερωτήματος ως πηγή του Iframe:
Μια δημόσια προσβάσιμη σελίδα HTML, **`message.html`**, έχει σχεδιαστεί γιανα προσθέτει δυναμικά περιεχόμενο στο σώμα του εγγράφου με βάση τις παραμέτρους στη διεύθυνση URL:
Ένα κακόβουλο σενάριο εκτελείται στη σελίδα ενός αντιπάλου, τροποποιώντας την παράμετρο `content` της πηγής του Iframe γιανα εισάγει ένα **XSS payload**. Αυτό επιτυγχάνεται ενημερώνοντας την πηγή του Iframe γιανα περιλαμβάνει ένα επιβλαβές σενάριο:
Μια εναλλακτική προσέγγιση γιανα προκληθεί το XSS περιλαμβάνει τη δημιουργία ενός στοιχείου Iframe και την ρύθμιση της πηγής του ώστε να περιλαμβάνει το επιβλαβές σενάριο ως την παράμετρο `content`:
Αυτό το παράδειγμα προήλθε από την [αρχική ανάρτηση](https://thehackerblog.com/steam-fire-and-paste-a-story-of-uxss-via-dom-xss-clickjacking-in-steam-inventory-helper/).
Το κύριο πρόβλημα προέρχεται από μια ευπάθεια Cross-site Scripting (XSS) που βασίζεται στο DOM, η οποία βρίσκεται στο **`/html/bookmarks.html`**. Ο προβληματικός JavaScript, μέρος του **`bookmarks.js`**, αναλύεται παρακάτω:
Αυτό το απόσπασμα ανακτά την **τιμή** από το **`txtName`** πεδίο εισόδου και χρησιμοποιεί **συγκέντρωση συμβολοσειρών γιανα δημιουργήσει HTML**, το οποίο στη συνέχεια προσαρτάται στο DOM χρησιμοποιώντας τη μέθοδο `.append()` της jQuery.
Συνήθως, η Πολιτική Ασφάλειας Περιεχομένου (CSP) της επέκτασης Chrome θα εμπόδιζε τέτοιες ευπάθειες. Ωστόσο, λόγω της **χαλάρωσης CSP με ‘unsafe-eval’** και της χρήσης μεθόδων χειρισμού DOM της jQuery (οι οποίες χρησιμοποιούν [`globalEval()`](https://api.jquery.com/jquery.globaleval/) γιανα περάσουν σενάρια στο [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) κατά την εισαγωγή στο DOM), η εκμετάλλευση είναι ακόμα δυνατή.
Ενώ αυτή η ευπάθεια είναι σημαντική, η εκμετάλλευσή της εξαρτάται συνήθως από την αλληλεπίδραση του χρήστη: επισκεπτόμενος τη σελίδα, εισάγοντας ένα XSS payload και ενεργοποιώντας το κουμπί “Προσθήκη”.
Για να ενισχυθεί αυτή η ευπάθεια, εκμεταλλεύεται μια δευτερεύουσα ευπάθεια **clickjacking**. Το μανιφέστο της επέκτασης Chrome παρουσιάζει μια εκτενή πολιτική `web_accessible_resources`:
Σημαντικά, η **`/html/bookmarks.html`** σελίδα είναι επιρρεπής σε framing, επομένως ευάλωτη σε **clickjacking**. Αυτή η ευπάθεια εκμεταλλεύεται γιανα πλαισιώσει τη σελίδα μέσα σε έναν ιστότοπο του επιτιθέμενου, επικαλύπτοντάς την με στοιχεία DOM γιανα ανασχεδιάσει παραπλανητικά τη διεπαφή. Αυτή η χειραγώγηση οδηγεί τα θύματα να αλληλεπιδρούν με την υποκείμενη επέκταση ακούσια.
Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.