'War Game'에 해당되는 글 15건
- HDCON 2017 rock.apk write up 2017.09.19
- XSS Challenges stage #14 2012.09.25
- XSS Challenges stage #13 2012.09.25
- XSS Challenges stage #12 2012.09.24
- XSS Challenges stage #11 2010.06.12
- XSS Challenges stage #10 2010.05.24
- XSS Challenges stage #9 2010.05.23
- XSS Challenges stage #8 2010.05.23
style attribute 를 이용해야하는 문제지만 ... 문제가 있다.
(We have to use "style attribute" but there is a problem.)
아래 그림과 같이 expression 을 이용하려고 하면 필터링으로 인해 expression 이 xxx 로 바뀐다는 점이다.
(When we use the "expression" as below, the "expression" is changed to "xxx" by filtering.)
고민해보도록 하자.
(Thinking...)
style attribute 를 이용해서 공략해야하는 문제이다.
(We have to use "style attribute" to solve this problem.)
고민할게 없으니 ...더 이상의 설명은 생략한다.
(We don't need to think ... so I skip detail explain about this problem.)
100년만에 포스팅이다...
"><script>alert(document.domain);</script> 코드를 넣고 Search를 누르게 되면 아래 그림과 같이 "<", ">" 기호가 필터링되어 scriptalert(document.domain);/script 코드만 남게 되어 아무런 영향을 주지 못한다.
괄호를 인코딩형태로 넣든 뭘하든 안되는걸 봐선 괄호 필터링을 우회하는 문제는 아니라고 판단된다.
즉, 괄호를 사용하지 않고 alert(document.domain)을 실행하면 된다.
우리가 입력하는 값은 INPUT 태그의 value 속성에 들어가게 되며, onmouseover와 같은 이벤트 핸들러를 사용해도 되겠거니 생각을하고 test%20onmouseover='alert(document.domain)' 을 입력해보면 안되는걸 알게 된다. 왜냐면 %20(공백)도 필터링하고 있고 공백뿐만 아니라 싱글쿼터(')와 더블쿼터(")까지 모두 필터링 하고 있다.
고민해보도록 하자...
이제 계속 정규식 우회문제가 나오는거 같다.
이번엔 여러가지를 필터링하게 되는데 script 를 xscript 로 바꿔버리고, event handler 를 사용하려고 하면 onxxx 로 변경하며 style 도 stxxx 로 바꿔버린다.
이 문제도 이전 문제와 마찬가지로 " 와 <> 는 필터링하지 않는다.
아직 가야할 길이 멀다.
힌트를 보면 알겠지만 정규식으로 domain 이라는 문자열이 있으면 필터링 해버린다.
즉, 이 문제는 필터링을 우회하는게 목표인 문제다.
다행히 " 와 <> 는 필터링하지 않으므로 공략하기가 수월했다.
앞의 문제들과 좀 색다른 문제였다.
아무튼 "><script>alert(document.domain);</script> 를 입력해보자.
페이지의 소스코드를 보니 여전히 " 와 <> 는 필터링 되고 있고 charset 이 쓰는 hidden filed 가 하나 발견되었다.
힌트를 보니 UTF-7 이 있어서 charset 에 UTF-7 을 적용하고 공격해보았다.
앞의 문제들과는 다른점이 있는데 search 버튼이 Make a Link 로 변했다는거다.
아무튼 일단 "><script>alert(document.domain);</script> 를 넣고 결과를 지켜보자.
Make a Link 말처럼 링크를 만들어서 보여주는걸 확인 할 수 있다.
페이지 소스코드를 확인해 보자.
" 와 <> 는 이제 계속 필터링을 시켜버리는거 같다.
하지만 alert(document.domain); 만 실행하면 되니까 의외로 쉽게 풀 수 있었다.