Iframe Traps

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

Основна інформація

Ця форма зловживання XSS через iframes для крадіжки інформації про переміщення користувача по веб‑сторінці була вперше опублікована в цих 2 постах на trustedsec.com: here and here.

Атака починається на сторінці, вразливій до XSS, де можливо зробити так, щоб жертви не покидали XSS, змушуючи їх навігувати всередині iframe, який займає весь веб‑застосунок.

XSS‑скрипт по суті завантажить веб‑сторінку в iframe на 100% екрану. Тому жертва не помітить, що вона всередині iframe. Якщо жертва переходить по сторінці, клікаючи по посиланнях всередині iframe (в межах сайту), вона буде навігувати всередині iframe, а довільний JS, що завантажено, краде інформацію про цю навігацію.

Крім того, щоб зробити це більш реалістичним, можна використовувати деякі listeners для відстеження, коли iframe змінює location сторінки, і оновлювати URL браузера цими локаціями, щоб користувач думав, що він переміщується між сторінками через сам браузер.

https://www.trustedsec.com/wp-content/uploads/2022/04/regEvents.png

https://www.trustedsec.com/wp-content/uploads/2022/04/fakeAddress-1.png

Також можна використовувати listeners для вкрадання чутливої інформації — не тільки інших сторінок, які відвідує жертва, але й даних з заповнених форм, щоб відправити їх (облікові дані?) або щоб вкрасти local storage

Звісно, основні обмеження в тому, що жертва, закривши вкладку або ввівши інший URL у браузері, вийде з iframe. Інший спосіб — оновити сторінку, проте це можна частково запобігти, відключаючи контекстне меню правого кліка щоразу при завантаженні нової сторінки всередині iframe або помічаючи, коли курсор користувача покидає iframe (можливо щоб натиснути кнопку перезавантаження браузера), і в цьому випадку URL браузера оновлюється до оригінального URL, вразливого до XSS, тож якщо користувач перезавантажить сторінку, вона знову буде скомпрометована (зауважте, що це не дуже приховано).

Modernised trap (2024+)

  • Використовуйте full‑viewport iframe та History/Navigation API для імітації реальної навігації.
Full-viewport iframe trap ```html ```
  • Navigation API (navigation.navigate, currententrychange) тримає зовнішню адресну панель браузера синхронізованою, не leaking реальний URL.
  • Go fullscreen щоб приховати UI браузера та намалювати власний фейковий адресний рядок/padlock.

Overlay & skimmer usage

  • Скомпрометовані продавці замінюють hosted payment iframes (Stripe, Adyen, etc.) на pixel‑perfect overlay, який пересилає натискання клавіш, поки реальний фрейм залишається під ним; іноді використовують legacy validation APIs, щоб потік ніколи не ламався.
  • Затримання користувачів у верхньому фреймі дозволяє захопити дані autofill/password‑manager до того, як вони помітять, що URL bar ніколи не змінився.

Evasion tricks observed in 2025 research

  • about:blank/data: локальні фрейми успадковують parent origin і обходять деякі евристики content‑blocker; вкладені iframes можуть відроджуватися навіть коли extensions видаляють third‑party frames.
  • Permission propagation: переписування батьківського атрибуту allow надає вкладеним фреймам-атакерам fullscreen/camera/microphone без очевидних змін у DOM.

Quick OPSEC tips

  • Перефокусуйте iframe коли миша покидає сторінку (mouseleave on body), щоб завадити користувачам дістатися до UI браузера.
  • Вимкніть контекстне меню та поширені скорочення (keydown for F11, Ctrl+L, Ctrl+T) всередині фрейма, щоб уповільнити спроби втечі.
  • Якщо CSP блокує inline scripts, інжектуйте remote bootstrapper і увімкніть srcdoc на iframe, щоб ваш payload знаходився поза застосованим CSP головної сторінки.

Clickjacking

References

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