hacktricks/pentesting-web/iframe-traps.md

4.9 KiB

Iframe Traps

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Basic Information

이 iframe을 통한 XSS 악용 형태는 사용자가 웹 페이지를 이동하면서 정보를 훔치는 방법으로, trustedsec.com의 두 게시물에서 처음 발표되었습니다: 여기 여기.

공격은 XSS에 취약한 페이지에서 시작되며, 희생자가 XSS를 떠나지 않도록 하여 iframe 내에서 탐색하게 만듭니다. 이 iframe은 전체 웹 애플리케이션을 차지합니다.

XSS 공격은 기본적으로 웹 페이지를 100% 화면에 iframe으로 로드합니다. 따라서 희생자는 iframe 안에 있다는 것을 인식하지 못합니다. 그런 다음, 희생자가 iframe 내의 링크를 클릭하여 페이지를 탐색하면 (웹 내에서) 그는 iframe 내에서 탐색하게 되며, 이 탐색에서 정보를 훔치는 임의의 JS가 로드됩니다.

또한, 더 현실감 있게 만들기 위해, iframe이 페이지의 위치를 변경할 때 이를 확인하는 리스너를 사용하여 사용자가 브라우저를 사용하여 페이지를 이동하고 있다고 생각하는 위치로 브라우저의 URL을 업데이트할 수 있습니다.

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

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

또한, 리스너를 사용하여 희생자가 방문하는 다른 페이지뿐만 아니라 양식에 입력된 데이터를 훔치거나 (자격 증명?) 로컬 스토리지를 훔치는 것도 가능합니다...

물론, 주요 제한 사항은 희생자가 탭을 닫거나 브라우저에 다른 URL을 입력하면 iframe에서 벗어난다는 것입니다. 이를 수행하는 또 다른 방법은 페이지를 새로 고치는 것이지만, 이는 iframe 내에서 새 페이지가 로드될 때마다 오른쪽 클릭 컨텍스트 메뉴를 비활성화하거나 사용자의 마우스가 iframe을 떠나는 것을 감지하여 브라우저의 새로 고침 버튼을 클릭할 가능성을 방지함으로써 부분적으로 방지될 수 있습니다. 이 경우 브라우저의 URL은 XSS에 취약한 원래 URL로 업데이트되므로 사용자가 이를 새로 고치면 다시 감염됩니다 (이는 매우 은밀하지 않다는 점에 유의하십시오).

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}