webhacking.kr 사이트의 23번 문제를 보면 다음과 같다.
<script>alert(1);</script>
위 스크립트를 넣어야 하는 것 같다.
우선 넣어보도록 하자.
no hack
위와 같이 출력이된다. 즉, 필터링이 되어 있다는 것을 알 수 있다. 하지만 어떤 문자가 필터링 되어 있는지 알 수 없기 때문에 가장 많이 필터링 거는 특수문자들을 확인해 보자.
<>()/
문자열을 넣었더니 필터링 되지 않는 것을 알 수 있다.
그렇다면 script 문자열과 alert 문자열이 필터링 되어 있다는 것인데, 문자열 사이에 공백을 넣어 입력해 보자.
<s c r i p t>a l e r t(1);</s c r i p t>
공백 문자로 우회가 되지 않았다.
url을 보면 다음과 같이 요청이 된다.
code라는 변수에 입력란에 입력한 값이 URL 인코딩되어 GET 방식으로 요청하는 것을 확인할 수 있다.
공백 대신에 NULL을 입력하여보자.
code=<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t(1);</s%00c%00r%00i%00p%00t>
url에 위와같이 넣으면 문제가 풀린다.
'Wargame > webhacking' 카테고리의 다른 글
[webhacking.kr] 38번 문제 (0) | 2017.06.18 |
---|---|
[webhacking.kr] 35번 문제 (0) | 2017.06.18 |
[webhacking.kr] 24번 문제 (0) | 2017.06.08 |
[webhacking.kr] 18번 문제 (0) | 2017.05.05 |
[webhacking.kr] 17번 문제 (0) | 2017.05.04 |