제공 서비스
웹 보안 점검 · 무료 단건 외부 공격표면 관리 · 지속 자동 AI 취약점 진단 · 신규 모의해킹 · 침투 테스트
요금제 스토어 블로그 파트너 마이페이지 무료 보안 점검
웹 취약점 2026.08.11 · 조회 9

클릭재킹이란? 보이지 않는 iframe이 사용자 클릭을 훔치는 법

클릭재킹은 투명한 iframe으로 사용자의 클릭을 가로채 의도치 않은 동작을 시키는 공격입니다. 원리와 X-Frame-Options·CSP frame-ancestors로 막는 자가 점검법을 설명합니다.

S
보안 전문 기업 SENTRIX 레드팀
해킹대회 수상 · 보안 실무 10년 · 실전 진단 경험을 바탕으로 작성합니다.

클릭재킹은 공격자 페이지 위에 내 사이트를 투명하게 겹쳐 놓고, 사용자가 엉뚱한 버튼을 누르도록 속이는 공격이다.
사용자는 자기가 보는 화면을 클릭한다고 믿지만, 실제로는 그 아래 감춰진 내 사이트의 "결제"·"삭제"·"권한 부여" 버튼을 누르게 된다.

어떻게 뚫리나

공격자는 자신이 만든 미끼 페이지에 우리 사이트를 <iframe>으로 불러온 뒤 opacity:0으로 투명하게 만들어, 그럴듯한 "경품 받기" 버튼 위에 정확히 겹쳐 놓는다. 로그인된 사용자가 미끼 버튼을 누르는 순간 클릭은 투명한 우리 사이트 버튼으로 전달된다. 계정 설정 변경, 자금 이체, 팔로우, 권한 위임처럼 클릭 한 번으로 완료되는 상태 변경이 표적이 된다.

왜 iframe이 문제인가

브라우저가 우리 페이지를 남의 사이트 iframe 안에 넣도록 허용하면 이 겹치기가 성립한다. 따라서 서버가 응답 헤더로 "누가 나를 iframe에 넣을 수 있는가"를 명시적으로 선언해야 막힌다. 오래된 X-Frame-Options와, 더 세밀한 최신 방식인 CSP frame-ancestors가 그 역할을 한다.

왜 남 일이 아닌가

클릭재킹은 "헤더 한 줄이 없어서" 뚫리는 대표적인 사례다. 코드 로직에는 아무 문제가 없어도 응답 헤더 설정을 빠뜨리면 그대로 노출된다. 반대로 말하면 자동 점검으로도 쉽게 잡히는 유형이다. 특히 로그인 상태에서 민감한 동작을 처리하는 관리자 페이지·대시보드·결제 화면이 방치되기 쉽다.

자가 점검 3가지

  1. iframe에 넣어보라 — 간단한 HTML 파일에 <iframe src="https://내사이트">를 넣고 열어본다. 화면에 우리 사이트가 그대로 뜨면 취약, 빈 칸으로 차단되면 방어된 것이다.
  2. 응답 헤더를 확인하라X-Frame-Options: DENY(또는 SAMEORIGIN)나 CSP frame-ancestors 'self'가 응답에 있는지 본다. 둘 중 CSP frame-ancestors가 다중 출처를 세밀하게 다룰 수 있어 현대적 권장안이다. 보안 헤더 8종 가이드CSP 설정 가이드도 함께 참고하면 좋다.
  3. 민감한 동작엔 확인 단계 — 중요한 상태 변경에는 재인증이나 확인 창을 둬서 단 한 번의 클릭으로 끝나지 않게 한다.

헤더 누락, 무료로 바로 확인하세요

X-Frame-Options와 frame-ancestors 같은 보안 헤더 누락은 URL 하나로 자동 점검할 수 있는 대표 항목입니다. 보안 전문 기업 SENTRIX가 실제 모의해킹에서 쓰는 점검 기준으로 만든 CodeScan 무료 진단에서 30초 만에 내 사이트의 헤더 상태를 확인해 보세요. 쿠키 보안 속성도 함께 점검하면 좋습니다.

클릭재킹 보안 헤더 X-Frame-Options CSP

내 사이트도 점검해보세요

URL 하나면 21개 항목을 30초에 무료 점검합니다. 회원가입·카드 없이.

추천 상품
웹서비스 런칭 전 보안 세팅
런칭 전에 반드시 해야 하는 보안 설정을 원격으로 직접 해드립니다. HTTPS, 환경변수 분리, 보안 헤더…
220,000원 150,000원

바이브코딩 보안 체크리스트 받기

바이브코딩 보안 체크리스트(PDF)를 무료로 받아보세요.