XSS에서의 가장 심각한 시나리오
2017. 10. 15. 11:38
예전에는 XSS 취약점이 발생한다해도, 그렇게 심각하지 않았다고 한다. (정보보호 영재교육원에서 그렇게 들었다.)
오히려 작은 취약점이라고 생각하며 대수롭지 않게 생각했다는 분위기였다고 한다.
하지만, 요즘의 상황은 다르다. 이 글에서는 XSS로 할 수 있는 것들에 대해서 적어보도록 하겠다.
XSS로 할 수 있는 것
XSS 취약점이 발생한다면 기본적으로 HTML을 Injecting할 수 있다. 이렇게 해서 연계할 수 있는 취약점은 CSRF 공격이다. (내 설명이 부족할 것 같아서, 그냥 링크로 대신하였다)
이 취약점으로는,, <input type='hidden' value='something danger'> 같이 권한을 빌려서 글을 작성하는 등, 특정 행동을 유발할 수 있다는 것이다. 어드민으로 공지를 한다던가,,, 아니면 <form> 태그로 특정 url로 이동시켜서 회원 탈퇴를 시키거나, 사이버 머니를 주는 등의 행동을 시킬 수 있다. (물론 Case-By-Case이다.)
두 번째가 Javascript를 실행할 수 있다는 것이다. 악성자바스크립트를 실행시킨다면 생각보다 위험한 결과를 이끌 수 있다. 보통 BeEF를 사용해보면 어떤 것을 사용할 수 있는지 알 수 있을 것이다. 사실 이 결과가 XSS의 핵심이긴 하다.
세번째가 취약한 ActiveX의 실행이다. 아직까지 ActiveX가 많은 우리나라에서 효과적인 공격이다. 그런 이유도 있는데다, 많은 개발자들이 <object> 태그를 잘 모르거나, 아니면 이것으로 XSS가 되는지 잘 몰라서 "html로 글쓰기"에서 object 태그를 막지 않는 경우가 있는데 이 때 사용하기 좋다. <object>를 사용해서 취약한 ActiveX를 심고 원격에서 cmd를 실행시키거나 계산기를 띄우는 등을 할 수 있으니, 이 것으로 굉장히 심각한 결과를 이끌어 낼 수 있다.
결론
일단 내가 지금 알고 있는 것은 이것밖에 없지만, 이 3가지의 방법을 사용하여 XSS 취약점이 있는 웹페이지에서 Exploit할 수 있다. XSS는 단지 악성 자바스크립트를 실행하는 것뿐만 아니라, ActiveX를 사용해서 계산기를 띄우는 등을 행동을 할 수 있다는 것을 보여주고 싶었다.
'Hacking > Web.' 카테고리의 다른 글
Markdown에서 XSS (0) | 2017.10.18 |
---|---|
웃긴대학 XSS 취약점 제보 (0) | 2017.10.16 |
UNION SQL Injection with SQLite3 (0) | 2017.10.08 |
XSS, CSRF 시 세션하이재킹 툴 (0) | 2017.10.04 |
XSS 관련 워게임 (0) | 2017.10.02 |