# 클릭재킹
htARTE (HackTricks AWS Red Team Expert)을 통해 **제로**부터 **히어로**가 되는 **AWS 해킹**을 배우세요! HackTricks를 지원하는 다른 방법: * **회사가 HackTricks에 광고**되길 원하거나 **HackTricks를 PDF로 다운로드**하고 싶다면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요! * [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요 * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션 * **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)를 **팔로우**하세요. * **해킹 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
\ [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=clickjacking)를 사용하여 세계에서 **가장 고급** 커뮤니티 도구로 구동되는 **워크플로우를 쉽게 구축**하고 **자동화**하세요.\ 오늘 바로 액세스하세요: {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=clickjacking" %} ## 클릭재킹이란 클릭재킹 공격에서 **사용자**는 **웹페이지**에서 **보이지 않는** 또는 다른 요소로 위장한 **요소**를 **클릭**하도록 **속임수**를 당합니다. 이 조작은 사용자에게 의도하지 않은 결과를 초래할 수 있으며, 악성 소프트웨어 다운로드, 악의적인 웹페이지로의 리디렉션, 자격 증명 또는 민감한 정보 제공, 자금 이체 또는 온라인 제품 구매 등이 포함될 수 있습니다. ### 폼 미리 채우기 트릭 가끔은 **페이지를 로드할 때 GET 매개변수를 사용하여 폼 필드의 값을 채울 수 있습니다**. 공격자는 이 동작을 악용하여 임의의 데이터로 폼을 채우고 사용자가 제출 버튼을 누르도록 클릭재킹 페이로드를 보낼 수 있습니다. ### 드래그 앤 드롭으로 폼 채우기 사용자에게 **폼을 채우도록** 필요하지만 직접 특정 정보(예: 이메일 또는 특정 암호)를 입력하도록 요청하고 싶지 않은 경우, 사용자에게 **드래그 앤 드롭**하여 제어된 데이터를 작성하도록 요청할 수 있습니다. [**이 예제**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/)와 같이. ```markup
Click me
``` ### 다단계 페이로드 ```markup
Click me first
Click me next
``` ### 드래그\&드롭 + 클릭 페이로드 ```markup
.
1. Click and press delete button
3.Click me

2.DRAG ME TO THE RED BOX

``` ### XSS + 클릭재킹 만약 사용자가 클릭하여 XSS를 트리거해야 하는 **XSS 공격**을 식별했고 페이지가 **클릭재킹에 취약**하다면, 사용자를 속여 버튼/링크를 클릭하도록 유도할 수 있습니다. 예시: _계정의 일부 개인 정보(오직 **당신만 설정하고 읽을 수 있는** 정보)에서 **셀프 XSS**를 발견했습니다. 이러한 세부 정보를 설정하는 **양식이 있는 페이지**가 **클릭재킹에 취약**하며 GET 매개변수로 **양식을 미리 채울 수 있습니다.**_ \_\_공격자는 **클릭재킹** 공격을 준비하여 **XSS 페이로드를 양식에 미리 채우고 사용자를 속여 양식을 제출하도록 유도**할 수 있습니다. 그래서 **양식이 제출되고 값이 수정되면 사용자가 XSS를 실행**하게 됩니다. ## 클릭재킹 완화 전략 ### 클라이언트 측 방어 클라이언트 측에서 실행되는 스크립트는 클릭재킹을 방지하기 위한 조치를 취할 수 있습니다: * 응용 프로그램 창이 주 창 또는 최상위 창인지 확인 * 모든 프레임을 표시 * 보이지 않는 프레임에서의 클릭 방지 * 클릭재킹 시도를 감지하고 사용자에게 경고 그러나 이러한 프레임 방어 스크립트는 우회될 수 있습니다: * **브라우저의 보안 설정:** 일부 브라우저는 보안 설정이나 JavaScript 지원 부족에 따라 이러한 스크립트를 차단할 수 있습니다. * **HTML5 iframe `sandbox` 속성:** 공격자는 `allow-forms` 또는 `allow-scripts` 값을 가진 `sandbox` 속성을 설정하여 프레임 버스터 스크립트를 중화시킬 수 있습니다. 이렇게 하면 iframe이 최상위 창인지 확인하지 못하게 됩니다. ```html ``` ### 서버 측 방어 #### X-Frame-Options **`X-Frame-Options` HTTP 응답 헤더**는 `` 또는 `