Wargame(Web)/Webhacking.kr Writeup

Webhacking Writeup 23번 문제

P_Squirrel 2022. 7. 28. 00:52

Webhacking Writeup old-23번 문제입니다.

<script>alert(1);</script> 를 실행시켜야 하는 것을 보니 XSS문제입니다.

일단 필터링이 무엇이 걸려있는지 확인하는것이 중요한데

기본을 먼저 입력해보겠습니다.

 

일단 값이 url에 표시되는 것을보니 get방식으로 전달되니 url의 입력이 가능할 것이고

( ) 와 ; 값이 url인코딩되는 것을 보아 직접 url에 입력이 필요할 것같습니다.

그외에 no hack 출력이니 어디선가 필터링이 되는 것을 확인 할 수 있습니다.

 

소스코드를 제공해주지 않아 하나하나 직접 노가다로 확인할 수 밖에 없을 것 같습니다.

하나하나 확인해본 결과 <> ; ( ) 같은 특수문자는 필터링이 안걸려있는데 script 나 sc 같은

문자열에 대한 필터링이 걸려있습니다.

즉 <script> alert(1); </script>를 입력할때 문자열 사이사이를 공백을 넣어
문자열이 아니면서 코드가 실행되게 하면 문제가 해결될 것입니다.

 

 

해서 %09를 사용해 공백을 넣어보았습니다.

그런데 어째선지 문제가 해결되지 않습니다.

 

고민을 아무리해도 해결되지 않아 구글링하다

 

https://eip343.tistory.com/17

여기에서 php 에서 %00으로 널로 처리하면서 문자열은 그대로 출력한다는 것을 찾았습니다.

해서 %00을 이용해

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

형태로 입력해보겠습니다.

삽입한 스크립트 구문이 실행되면서 문제가 해결되었습니다!