본문 바로가기

Security

[Webhacking] click jacking

반응형

Click jacking은 웹 브라우저 화면에 출력되는 내용에 HTML, CSS , JS등과 같이 화면 출력에 영향을 미치는 요소들을 이용하여 사용자의 눈을 속여 사용자의 클릭을 유도하는 공격 방법.

 

외부 페이지 리소스를 불러올 수 있는 태그 엘리먼트 (<frame>, <iframe>, <object>, <embed>, <applet>)를 사용.

 

  • 사용자 클릭을 유도하는 페이지 구성 후에 그 페이지 위에 iframe등의 태그로 누르게 할 페이지를 로드.
  • 그리고 CSS opacity(투명도 조절) 등의 방법을 통해 숨겨놓음.
  • iframe 태그가 웹 브라우상에서 더 앞에 위치.

ex ) 광고 끄기 버튼 앞으로 송금 버튼 iframe으로 숨겨놓음.

 

Mitigation

부모 페이지의 URL을 제한

X-Frame-Options

HTTP 응답 헤더를 통해 DENY, SAMEORIGIN 두 개의 값으로 설정 가능.

DENY 부모 페이지 URL 상관없이 모두 차단.
SAMEORIGIN 부모 페이지 URL이 Same Origin이라면 허용.

EX) X-Frame-Options: DENY

 

frame-ancestors

Content Security Policy (CSP) frame-ancestors 지시어를 통해 값 설정 가능.

frame-ancestors 지시어는 CSP를 HTTP 응답 헤더를 통해 설정해야 함. <meta> 태그로는 설정 불가.

'none' X-Frame-Options DENY와 동일
'self' X-Frame-Options SAMEORIGIN과 동일
http://, https:// scheme이 같으면 모두 허용
*.dreamhack.io, dreamhack.io, https://dreamhack.io host나 scheme+host가 같으면 모두 허용, 와일드카드(*)를 사용할 수 있음.

EX) Content-Security-Policy: frame-ancestors http://dreamhack.io *.google.com https://

(http://dreamhack.io와 google.com의 모든 서브도메인 그리고 https:// scheme을 모두 허용)

 

반응형

'Security' 카테고리의 다른 글

[Webhacking] SQL Injection  (0) 2021.09.20
[Webhacking] server-side basic  (0) 2021.09.20
[Webhacking] open redirect  (0) 2021.09.19
[Webhacking] CSRF (cross site request forgery)  (0) 2021.09.19
[Webhacking] XSS (cross site scripting)  (0) 2021.09.19