본문 바로가기

IT/웹 해킹(Web Hacking)

webhacking.kr [문제 23번]






23번 문제를 풀어보겠다.





해당 문제의 배점은 200point이다.




23번 문제를 접속해보니,


입력 폼 한가지가 있고,


힌트로는 


<script>alert(1);</script>


인젝션하라고 한다.



그럼 한번 해당 스크립트를 인젝션해보자.







당연히 이렇게 쉽게 될리가 없다.


특정 문자들이 필터링 되어 있는 것으로 확인된다.



어떤 문자열들이 필터링 되어 있는지 체크해보자.



해당 문자열을 토큰 단위로 쪼개어 체크해보았다.




1) <




2) script




3) >




4) alert




5) (




6) 1



7) )



8) ;



9) /




해당 필터링 된 문자들을 확인해보면,


각 특수문자들을 필터링 되어있지 않지만, 'script'와 'alert'문자열들은 필터링 되어있는 것으로 확인됬다.



그렇다면 해당 문자열을 이루고 있는 문자들도 필터링 될까?





다행이 아닌 것으로 확인되었다.



그렇다면 해당 문자들을


null문자를 이용하여 이어주면 되는 것이다.



NULL문자는 %00으로 표현된다.




해당 정보를 이용하여,


필터링을 우회한 문자열을 만들어주면,



<script>alert(1);</script> 


<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t(1);</s%00c%00r%00i%00p%00t>


다음과 같이 표현이 가능해진다.



한번 필터링한 문자열을 이용하여 제출해보자.





다음과 같이 입력하였다. (보여주기위함 사실은 url창에 입력해야 한다)









문제 해결 완료










'IT > 웹 해킹(Web Hacking)' 카테고리의 다른 글

webhacking.kr [문제 25번]  (0) 2018.03.31
webhacking.kr [문제 24번]  (0) 2018.03.31
webhacking.kr [문제 22번]  (0) 2018.03.30
webhacking.kr [문제 21번]  (6) 2018.03.25
webhacking.kr [문제 20번]  (0) 2018.03.17