
1. 문제 정보
- 문제 번호 : old -23
- 문제 점수 : 20점
- 문제 유형 : xss-null injection
2. 문제 분석
23번 문제이다. xss을 시도해야하는 미션이 보인다.

<script>alert(1);</script>를 입력하면 no hack이 보인다.
그러면 서버 내 코드에서는 받은 문자열을 필터링하는 것을 알 수 있다

필터링되는 문자를 알아보기 위해 필요한 특수문자인 <, >, /를 입력했더니 필터링이 안된다. 그러면 script가 필터링으로 생각해 입력해보았다.



script는 필터링에 걸려 자바스크립트는 대소문자 구분이 없으므로 대문자를 섞어서 ScrIpt를 입력해도 똑같이 no hack이 출력된다.

그러면 xss에서 <img >태그를 사용한 xss를 해도 안된다.

여러번 시도를 해보니 sc도 필터링 im도 필터링인걸 보아 연속된 문자열이 있으면 no hack으로 필터링 되는 것을 알 수 있다.
3. 풀이
문자가 이어지면 안되므로 문자 사이에 null을 넣어서 우회해보자. 버프 스위트로
<%00s%00c%00r%00i%00p%00t%00>%00a%00l%00e%00r%00t%00(1);</s%00c%00r%00i%00p%00t>와 같이 보내면 서버내 필터링을 우회하고 브라우저에서 자동으로 null을 없애서 <script>alert(1);</script>를 실행할 수 있다.


4. 요약
- script, img 등 영문자가 2글자 이상 연속되면 no hack이 출력되는 필터링을 확인했다.
- 필터링 우회를 위해 Burp Suite를 사용하여 문자열 사이에 Null Byte(%00)를 삽입해 전송했다.
- 서버는 널 바이트를 문자로 인식해 통과시키고, 브라우저는 이를 무시하고 실행하는 차이를 이용해 해결했다.
5. 참고
https://blog.arang.kr/posts/xss-bypass-waf-filtering
XSS Bypass WAF & Filtering 기법
모의해킹 및 버그바운티 시 XSS 취약점 분석에서 얻은 WAF 우회 및 필터링 우회 기법
blog.arang.kr
xss (Cross Site Scripting)
XSS는 웹 브라우저에서 동작하는 악의적인 스크립트이다. 일반적으로 사용자의 개인정보, 쿠키탈취등을 한다. 대부분 XSS취약점을 진단하고자 할 때 와 같은 형태로 공격구문을 넣는다. 이를 우
4rgos.tistory.com
'워게임 > webhacking.kr' 카테고리의 다른 글
| [webhacking.kr] old-19 문제 (0) | 2026.01.29 |
|---|---|
| [webhacking.kr] old-1문제 (0) | 2026.01.27 |
| [webhacking.kr] old-36문제 (0) | 2026.01.27 |
| [webhacking.kr] old-42 문제 (0) | 2026.01.27 |
| [webhacking.kr] old-47 문제 (0) | 2026.01.26 |