클릭재킹이란?

마우스 클릭(Click)과 항공기 불법탈취 또는 납치를 의미하는 하이재킹(hijacking)의 합성어로, 사용자는 어떤 웹 페이지를 클릭하지만 실제로는 다른 어떤 페이지의 컨텐츠를 클릭하게 되는 것이다. 대표적인 방법으로는 정상적인 버튼 밑에 해킹 기능을 넣은 보이지 않는 버튼을 배치하는 것이다.

-owasp-

"UI 교정 공격" 이라고도 하는 클릭재킹은 공격자가 여러 투명 또는 불투명 레이어를 사용하여 사용자가 최상위 페이지를 클릭하려고 할 때 다른 페이지의 버튼이나 링크를 클릭하도록 속이는 경우입니다.

따라서 공격자는 자신의 페이지에 대한 클릭을 "하이재킹"하고 다른 응용 프로그램, 도메인 또는 둘 다에서 소유할 가능성이 높은 다른 페이지로 라우팅 함.

 

유사한 기술을 사용하여 키 입력도 도용될 수 있음. 

 

 

방어

1. 다른 도메인에서 프레이밍을 허용하지 않도록 브라우저에 지시하는 적절한 CSP(콘텐츠 보안 정책) frame-ancestors 지시문 응답 헤더를 보냅니다.

X-Frame-Options : 2008년부터 사용된 HTTP 보안 헤더라고도 하는 HTTP 응답 헤더

2009년 MS가 IE8에 도입한 이후로 대부분의 웹 브라우저가 채택하고 있으며, 이 헤더의 값은 "DENY", "SAMEORGIN", "ALLOW-FRAME origin"을 가질 수 있다.

 

DENY : 이 홈페이지는 다른 홈페이지에서 표시할 수 없음

SAMEORIGIN : 이 홈페이지는 동일한 다른 도메인의 페이지 내에서만 표시할 수 있음

ALLOW-FROM origin : 이 홈페이지는 origin 도메인의 페이지에서 포함하는 것을 허용함

 

X-Frame-OPTIONS 설정

웹 서버의 설정파일 마지막에 추가하고 웹서버 재시작 필요함.

[Apache]

Header always append X-Frame-Options DENY

[Nginx]

add_header X-Frame-Options DENY;

[Java 어플리케이션]

response.addHeader("X-Frame-Options", "SAMEORIGIN");

[IIS - web.config]

<system.webServer>
  ...
  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="DENY" />
    </customHeaders>
  </httpProtocol>
  ...
</system.webServer>

 

 

https://owasp.org/www-community/attacks/Clickjacking

'Security > WEB' 카테고리의 다른 글

APACHE Log4J취약점  (0) 2023.02.16
HTTP request smuggling(HTTP 요청 밀수)  (0) 2023.02.13
크로스 사이트 스크립팅_XSS[Cross Site Script]  (0) 2022.09.13

+ Recent posts