Clickjacking 에 관하여 [1/2]

웹 어플리케이션 2009. 1. 22. 10:51 Posted by TEAMCR@K

클릭잭킹(Clickjacking)이란 마우스 클릭(Click)과 하이잭킹(Hijacking)의 합성어로,  사용자 입장에선 자신이 보고있는 웹 페이지의 콘텐츠를 클릭하지만, 실제로는 다른 웹 페이지의 콘텐츠를 클릭하는 것입니다.
즉, 사용자는 눈치채지 못하는 사이에 자신이 원하지 않는(위험가능성이 있는) 콘텐츠나 링크를 클릭 할 수 있는 취약점입니다. XSS(Cross Site Scripting)와 CSRF(Cross Site Request Forgery)의 응용버전 인것 같은데, 최근 주목받고 있는 보안 동향중에 하나라고 합니다.

milw0rm에서도 2009년 1월 21일짜로 올라왔군요. 예제는 파이어폭스(Firefox)에서만 테스트가 됩니다.(Internet Explorer 에서는 링크된 주소로 정상적으로 이동됩니다)

http://milw0rm.com/exploits/7842




이전 5~6년전에 URL정보에 0x01 문자를 넣어 주소표시줄에 출력되는 URL정보와 실제 이동하는 URL이 달라서 사용자를 속일 수 있는 취약점이 있었는데 비슷한 개념이라고 생각하시면 될것 같네요. (공론화 이후 해당 결함은 패치되었습니다.)
http://www.derkeiler.com/Mailing-Lists/Full-Disclosure/2003-12/0353.html

참고로 CSRF 취약점을 익스플로잇 할때 iframe 태그에 width, height 를 0 값으로 채울때 IE는 아무런 특이점도 발견하지 못했는데, firefox, opera 같은 경우는 5x5 pixel 정도 되는 어떤 모양이 되었습니다.
이럴때 div 태그를 iframe 양 옆에 감싸주고 div 태그의 width, height 값을 0으로 주면 완벽하게 사용자를 속일 수 있었습니다.

 <div style="position:absolute; width:0px; height:0px; overflow:hidden"><iframe src="URL" width=0 height=0></iframe></div>


[참고사이트]

예제 사이트
http://blog.daum.net/memonpaper/6941607

ClickJacking에 대한 간단한 Demo
http://www.planb-security.net/notclickjacking/iframetrick.html

직접할 수 있는 데모 사이트
http://guya.net/security/clickjacking/game.html

ClickJacking 시연 동영상
http://kr.youtube.com/watch?v=gxyLbpldmuU

ZDNet Korea 뉴스
http://www.zdnet.co.kr/ArticleView.asp?artice_id=00000039173575

방지책
http://phpsec.org/projects/guide/2.html


Copyright(c) 1998-2008 A3 Security ,LTD


Disclaimer
※ 현재 ㈜에이쓰리시큐리티에서 테스트 및 분석 중에 있으며, 이 문서는 계속 업데이트될 것입니다. 본 문서는 보안취약점으로 인한 피해를 최소화하는 데 도움이 되고자 작성되었으나, 본 문서에 포함된 대응방안의 유효성이나 기타 예상치 못한 시스템의 오작동 발생에 대하여서는 ㈜에이쓰리시큐리티에서는 일체의 책임을 지지 아니합니다.