티스토리 뷰

hacking/webhacking.kr

<webhacking.kr> - 23번

khe0616 2018. 2. 12. 17:17

<script>alert(1);</script>를 주입시켜야하는 문제이다.







코드를 보면, 밑의 메시지 출력부분에서

<    ->    &lt;  로 치환하였는데, 이는 <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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함