클릭재킹이란?
마우스 클릭(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>
'Security > WEB' 카테고리의 다른 글
APACHE Log4J취약점 (0) | 2023.02.16 |
---|---|
HTTP request smuggling(HTTP 요청 밀수) (0) | 2023.02.13 |
크로스 사이트 스크립팅_XSS[Cross Site Script] (0) | 2022.09.13 |