Webhacking Writeup old-23번 문제입니다.
<script>alert(1);</script> 를 실행시켜야 하는 것을 보니 XSS문제입니다.
일단 필터링이 무엇이 걸려있는지 확인하는것이 중요한데
기본을 먼저 입력해보겠습니다.
일단 값이 url에 표시되는 것을보니 get방식으로 전달되니 url의 입력이 가능할 것이고
( ) 와 ; 값이 url인코딩되는 것을 보아 직접 url에 입력이 필요할 것같습니다.
그외에 no hack 출력이니 어디선가 필터링이 되는 것을 확인 할 수 있습니다.
소스코드를 제공해주지 않아 하나하나 직접 노가다로 확인할 수 밖에 없을 것 같습니다.
하나하나 확인해본 결과 <> ; ( ) 같은 특수문자는 필터링이 안걸려있는데 script 나 sc 같은
문자열에 대한 필터링이 걸려있습니다.
즉 <script> alert(1); </script>를 입력할때 문자열 사이사이를 공백을 넣어
문자열이 아니면서 코드가 실행되게 하면 문제가 해결될 것입니다.
해서 %09를 사용해 공백을 넣어보았습니다.
그런데 어째선지 문제가 해결되지 않습니다.
고민을 아무리해도 해결되지 않아 구글링하다
여기에서 php 에서 %00으로 널로 처리하면서 문자열은 그대로 출력한다는 것을 찾았습니다.
해서 %00을 이용해
<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t(1);</s%00c%00r%00i%00p%00t>
형태로 입력해보겠습니다.
삽입한 스크립트 구문이 실행되면서 문제가 해결되었습니다!
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup 33번 문제 (0) | 2022.07.28 |
---|---|
Webhacking Writeup 38번 문제 (0) | 2022.07.28 |
Webhacking Writeup 19번 문제 (0) | 2022.07.27 |
Webhacking Writeup 32번 문제 (0) | 2022.07.20 |
Webhacking Writeup 26번 문제 (0) | 2022.07.20 |