hacktricks/pentesting-web/iframe-traps.md

49 lines
4.9 KiB
Markdown

# Iframe Traps
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* 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.
</details>
{% endhint %}
## Basic Information
이 iframe을 통한 XSS 악용 형태는 사용자가 웹 페이지를 이동하면서 정보를 훔치는 방법으로, trustedsec.com의 두 게시물에서 처음 발표되었습니다: [**여기**](https://trustedsec.com/blog/persisting-xss-with-iframe-traps) **및** [**여기**](https://trustedsec.com/blog/js-tap-weaponizing-javascript-for-red-teams).
공격은 XSS에 취약한 페이지에서 시작되며, **희생자가 XSS를 떠나지 않도록** 하여 **iframe 내에서 탐색**하게 만듭니다. 이 iframe은 전체 웹 애플리케이션을 차지합니다.
XSS 공격은 기본적으로 웹 페이지를 100% 화면에 iframe으로 로드합니다. 따라서 희생자는 **iframe 안에 있다는 것을 인식하지 못합니다**. 그런 다음, 희생자가 iframe 내의 링크를 클릭하여 페이지를 탐색하면 (웹 내에서) 그는 **iframe 내에서 탐색**하게 되며, 이 탐색에서 정보를 훔치는 임의의 JS가 로드됩니다.
또한, 더 현실감 있게 만들기 위해, iframe이 페이지의 위치를 변경할 때 이를 확인하는 **리스너**를 사용하여 사용자가 브라우저를 사용하여 페이지를 이동하고 있다고 생각하는 위치로 브라우저의 URL을 업데이트할 수 있습니다.
<figure><img src="../.gitbook/assets/image (1248).png" alt=""><figcaption><p><a href="https://www.trustedsec.com/wp-content/uploads/2022/04/regEvents.png">https://www.trustedsec.com/wp-content/uploads/2022/04/regEvents.png</a></p></figcaption></figure>
<figure><img src="../.gitbook/assets/image (1249).png" alt=""><figcaption><p><a href="https://www.trustedsec.com/wp-content/uploads/2022/04/fakeAddress-1.png">https://www.trustedsec.com/wp-content/uploads/2022/04/fakeAddress-1.png</a></p></figcaption></figure>
또한, 리스너를 사용하여 희생자가 방문하는 다른 페이지뿐만 아니라 **양식에 입력된 데이터**를 훔치거나 (자격 증명?) **로컬 스토리지를 훔치는** 것도 가능합니다...
물론, 주요 제한 사항은 **희생자가 탭을 닫거나 브라우저에 다른 URL을 입력하면 iframe에서 벗어난다는 것입니다**. 이를 수행하는 또 다른 방법은 **페이지를 새로 고치는 것**이지만, 이는 iframe 내에서 새 페이지가 로드될 때마다 오른쪽 클릭 컨텍스트 메뉴를 비활성화하거나 사용자의 마우스가 iframe을 떠나는 것을 감지하여 브라우저의 새로 고침 버튼을 클릭할 가능성을 방지함으로써 부분적으로 **방지될 수 있습니다**. 이 경우 브라우저의 URL은 XSS에 취약한 원래 URL로 업데이트되므로 사용자가 이를 새로 고치면 다시 감염됩니다 (이는 매우 은밀하지 않다는 점에 유의하십시오).
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* 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.
</details>
{% endhint %}