티스토리 뷰
<script>alert(1);</script>를 주입시켜야하는 문제이다.
코드를 보면, 밑의 메시지 출력부분에서
< -> < 로 치환하였는데, 이는 <script>구문이 실행되지 않도록하기 위해 html 엔터티 코드를 적용시킨(인코딩) 한 것이다.
그리고 텍스트박스에 입력하는 내용은 제출을 눌렀을때 GET방식으로 전달이 되어진다.
a는 잘 입력된다.
그러나 aa는 입력되지 않는다.
특수 문자들은 잘 입력된다. 두글자 이상의 일반문자(알파벳)은 입력되어질 수 없도록 필터링을 해놓은 듯하다.
필터링 우회를 위해 웹 해킹 25번에서 null character을 이용했던 것처럼 이번 문제에서도 사용해보았다.
주소창에 a%00a을 입력하니 aa로 잘 입력이된다.
여기서 주의할점은 텍스트 박스에 a%00a라고 입력하면 %가 %25로 인코딩되서 a%2500a로 전달 되고, 결국 a%00a라는 문자열로 인식이 되어지기 때문에 반드시 주소창에 입력을 해주어야 한다.
결론적으로,
<script>alert(1);</script>의 모든 글자사이에 %00을 넣어서
<%00s%00c%00r%00i%00p%00t%00>%00a%00l%00e%00r%00t%00(%001%00)%00;%00<%00/%00s%00c%00i%00p%00t%00>
을 전달시켜주면 문제가 풀린다.(주소창에)
'hacking > webhacking.kr' 카테고리의 다른 글
<webhacking.kr> - 43번 (0) | 2018.02.12 |
---|---|
<webhacking.kr> - 36번 (0) | 2018.02.12 |
<webhacking.kr> - 31번 (0) | 2018.02.12 |
<webhacking.kr> - 52번 (0) | 2018.02.01 |
<webhacking.kr> - 42번 (0) | 2018.02.01 |