<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na GitHubie.
W tej konfiguracji, **skrypt treści** jest implementowany w celu utworzenia Iframe, w którym zawarta jest URL z parametrami zapytania jako źródło Iframe:
Jest publicznie dostępna strona HTML o nazwie **`message.html`**, która dynamicznie dodaje zawartość do ciała dokumentu na podstawie parametrów w adresie URL:
Wykonuje się złośliwy skrypt na stronie przeciwnika, modyfikując parametr `content` źródła Iframe, aby wprowadzić **payload XSS**. Osiąga się to poprzez aktualizację źródła Iframe, aby zawierało szkodliwy skrypt:
Alternatywnym podejściem do wywołania ataku XSS jest utworzenie elementu Iframe i ustawienie jego źródła tak, aby zawierało szkodliwy skrypt jako parametr `content`:
Ten przykład został zaczerpnięty z [oryginalnego wpisu](https://thehackerblog.com/steam-fire-and-paste-a-story-of-uxss-via-dom-xss-clickjacking-in-steam-inventory-helper/).
Główny problem wynika z podatności na DOM-based Cross-site Scripting (XSS) znajdującej się w **`/html/bookmarks.html`**. Problematyczny kod JavaScript, będący częścią **`bookmarks.js`**, jest szczegółowo opisany poniżej:
Ten fragment kodu pobiera **wartość** z pola wejściowego **`txtName`** i używa **konkatenacji ciągów znaków do generowania kodu HTML**, który jest następnie dodawany do DOM za pomocą funkcji `.append()` z biblioteki jQuery.
Zazwyczaj polityka bezpieczeństwa zawartości (CSP) rozszerzenia Chrome uniemożliwia występowanie takich podatności. Jednak ze względu na **relaksację CSP z użyciem 'unsafe-eval'** oraz wykorzystanie metod manipulacji DOM z biblioteki jQuery (które używają [`globalEval()`](https://api.jquery.com/jquery.globaleval/) do przekazywania skryptów do funkcji [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) podczas wstawiania do DOM), nadal istnieje możliwość wykorzystania podatności.
Choć ta podatność jest istotna, jej wykorzystanie zazwyczaj zależy od interakcji użytkownika: odwiedzenia strony, wprowadzenia ataku XSS i aktywacji przycisku "Dodaj".
Aby zwiększyć wykorzystanie tej podatności, wykorzystuje się dodatkową podatność **clickjacking**. Manifest rozszerzenia Chrome zawiera obszerną politykę `web_accessible_resources`:
Warto zauważyć, że strona **`/html/bookmarks.html`** jest podatna na osadzanie w ramkach, co czyni ją podatną na **clickjacking**. Ta podatność jest wykorzystywana do osadzenia strony w witrynie atakującego, nakładając na nią elementy DOM w celu oszukańczego przeprojektowania interfejsu. Ta manipulacja sprawia, że ofiary nieświadomie oddziałują z podstawowym rozszerzeniem.
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.