반응형
웹 보안에서 유명한 Clickjacking을 정리해줄게.
🔥 1. Clickjacking이란?
정의:
Clickjacking은 공격자가 사용자가 클릭하는 UI를 속여서, 원래 의도와 다르게 행동하게 만드는 공격이야.
즉:
👉 “보이는 화면과 실제 클릭되는 버튼이 다르게 만들어, 사용자를 속여 악성 행동을 하게 하는 기법”
- 별명: UI redressing, UI 가짜 조작
🔹 2. 공격 원리
- 공격자가 투명 또는 가짜 버튼을 만들고, 정상 버튼 위에 덮어 놓음
- 사용자가 클릭하면 공격자가 원하는 동작 수행
- 사용자는 자신이 뭘 클릭했는지 모름
[사용자가 보는 화면] "무료 쿠폰 받기 버튼" [실제로 클릭되는 화면] "계정 설정 삭제" / "관리자 권한 실행"
- 공격 대상: 버튼, 링크, 체크박스 등 모든 클릭 가능한 요소
- 주로 iframe, CSS, 투명 레이어 사용
🔹 3. 대표적인 공격 예시
1️⃣ 관리자 권한 탈취
- 공격자가 iframe으로 관리 페이지를 숨김
- 일반 사용자가 클릭 → 관리자 기능 실행
2️⃣ ‘좋아요’/‘팔로우’ 조작
- Facebook/Instagram 페이지에서 사용자 모르게 ‘좋아요’/‘팔로우’ 클릭
3️⃣ 금융/결제 클릭 유도
- 은행 이체/결제 버튼 위에 공격자 UI 덮음
- 사용자가 클릭 → 돈이 공격자 계좌로 이체
🔹 4. 공격 구현 방법
<style> #victim { opacity:0; /* 보이지 않게 */ position:absolute; z-index:2; } #attacker { position:absolute; z-index:1; } </style> <div id="attacker">무료 쿠폰 버튼</div> <iframe id="victim" src="https://bank.com/transfer"></iframe>
- 투명 iframe을 공격자가 만든 버튼 위에 겹쳐놓음
🔹 5. 방어 방법
✔ 서버 측
- X-Frame-Options 헤더 설정
- DENY → iframe 완전 차단
- SAMEORIGIN → 같은 도메인만 허용
- 예:
-
X-Frame-Options: DENY
- Content-Security-Policy(CSP) frame-ancestors 설정
- iframe 허용 출처 제한
- 예:
-
Content-Security-Policy: frame-ancestors 'self';
✔ 클라이언트 측
- 중요 버튼 클릭 전 추가 확인 (2단계 확인)
- 민감 기능은 iframe에서 실행하지 않음
✔ WAF / 보안관제
- iframe embedding 관련 응답 헤더 미설정 탐지
- 외부에서 민감 URL iframe 호출 패턴 모니터링
🎯 한 문장 요약
Clickjacking = 사용자가 클릭하는 UI를 속여, 자신이 의도하지 않은 동작을 수행하게 만드는 공격으로, X-Frame-Options와 CSP로 방어할 수 있다.
반응형
'2. 보안 > 2. 보안 관제' 카테고리의 다른 글
| [보안_GPT] 크리덴셜 스터핑(Credential Stuffing)이란? (0) | 2025.11.14 |
|---|---|
| [보안_GPT] Brute Force란? (0) | 2025.11.14 |
| [보안_GPT] CORS(Cross-Origin Resource Sharing)란? (0) | 2025.11.14 |
| [보안_GPT] TTP 헤더 조작(HTTP Header Manipulation)이란? (0) | 2025.11.14 |
| [보안_GPT] API 취약점 공격이란? (0) | 2025.11.14 |