Пастки 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.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основна інформація
Ця форма зловживання XSS через iframes для викрадення інформації під час переміщення користувача по веб‑сторінці була вперше опублікована в цих двох постах на trustedsec.com: тут та тут.
Атака починається на сторінці, вразливій до XSS, де можливо змусити жертву не покидати XSS, змусивши її переміщатися в межах iframe, який займає весь інтерфейс веб‑додатка.
XSS завантажує веб‑сторінку в iframe на 100% екрану. Тому жертва не помітить, що знаходиться всередині iframe. Потім, якщо жертва переходить по сторінках, клікаючи по посиланнях всередині iframe (усередині сайту), вона буде навігувати всередині iframe, а довільний JS, що був завантажений, буде викрадати інформацію про цю навігацію.
Крім того, щоб зробити атаку більш реалістичною, можна використовувати певні listeners, щоб відстежувати, коли iframe змінює location сторінки, і оновлювати URL браузера тим адресам, куди, як думає користувач, він переходить за допомогою браузера.
.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…
Звісно, основні обмеження такі: якщо жертва закриває tab або вводить інший URL у browser, вона вийде з iframe. Інший спосіб уникнути пастки — зробити refresh сторінки, однак це можна частково запобігти, вимикаючи right click context menu щоразу, коли всередині iframe завантажується нова сторінка, або відстежуючи, коли курсор користувача покидає iframe (можливо, щоб натиснути кнопку reload у browser) — у такому випадку URL браузера оновлюється на оригінальний URL, вразливий до XSS, і якщо користувач зробить reload, він знову потрапить у заражену сторінку (зауважте, що це не дуже непомітно).
Оновлена пастка (2024+)
- Використовуйте full‑viewport iframe та History/Navigation API, щоб імітувати реальну навігацію.
Пастка Full-viewport iframe
```html ```- Navigation API (
navigation.navigate,currententrychange) підтримує зовнішній рядок URL синхронізованим без leak реального URL. - Увімкніть fullscreen, щоб сховати UI браузера та намалювати власну підробну адресну стрічку/padlock.
Overlay & skimmer usage
- Скомпрометовані продавці замінюють hosted payment iframes (Stripe, Adyen, etc.) на pixel‑perfect overlay, який пересилає натискання клавіш, поки реальний фрейм залишається внизу, іноді використовуючи legacy validation APIs, щоб потік ніколи не ламався.
- Утримання користувачів у верхньому фреймі дозволяє перехопити дані autofill/password‑manager ще до того, як вони помітять, що рядок URL не змінився.
Evasion tricks observed in 2025 research
about:blank/data:local frames успадковують батьківський origin і обходять деякі евристики content‑blocker; вкладені iframes можуть повторно створюватися навіть коли розширення знищують third‑party frames.- Permission propagation: переписування батьківського атрибуту
allowдає вкладеним фреймам‑атакерам fullscreen/camera/microphone без очевидних змін у DOM.
Quick OPSEC tips
- Заново фокусуйте iframe при виході миші (
mouseleaveна body), щоб перешкодити користувачам дістатися UI браузера. - Вимкніть контекстне меню та звичні шорткати (
keydownдляF11,Ctrl+L,Ctrl+T) всередині фрейму, щоб уповільнити спроби втечі. - Якщо CSP блокує inline скрипти, інжектьте віддалений 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.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


