본문 바로가기

보안공부/Webhacking.kr 풀이

webhacking.kr 23번 문제 풀이

그럼 오늘은 webhacking.kr 23번 문제를 풀어보도록 하자.

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

 를 입력하라는게 목표라고 한다.

뭐, 그쯤이야 쉽지... 라고 생각하던 순간...

WTF?

 

뭔가 이 페이지의 코드에 Javascript에 쓸만한 내용이 있지 않을까? 라는 생각으로 확인했더니

... Nope

 

그러면 우리가 직접 필터링되는 단어를 찾아봐야겠죠?

보아하니 특수문자는 막히지 않은것 같네요.

 

script라는 단어와

 

script를 자른 단어가 되지 않는것으로 보아,

sc, cr, ri, ip, pt 의 형태로 차단된것으로 보입니다.

 

따라서 우리는 %00으로 뛰어쓰기 처리를 해봅시다.

그렇다면 구문은 다음과 같이 작성되겠죠?

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

 

 

form에 소속된 칸을 통해 제출하면 %를 인코딩시켜 %00이 %2500이 되어 문제가 발생하니 주소에 있는 code파라미터를 수정하여 제출( /index.php?code=<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t%00(1);%00</s%00c%00r%00i%00p%00t> ) 하면

 

문제가 해결됩니다.