Search

[reflected xss] level3

Tags
writeup
time
2025/06/23 14:00

1. 문제

1) 문제 확인
2번 문제와 동일하다.

2. 접근방법

그렇다면 2번 문제의 페이로드를 일단 넣어보자.
입력값에서 " 요게 사라졌다. 그럼 분명 2번문제와는 다르게 필터링이 들어가있다는 소리이다. 이 필터링을 우회하는 방법을 생각해보자.
근데 <> 요 꺽쇠가 필터링이 되지 않는다. 2번문제에서는 <> 저 꺽쇠가 필터링이 되었다. 하지만 이미 스크립트 태그안에 입력값이 들어감으로 쓸필요가 없었다.
하지만 현재 3번 문제에서는 " 요거를 없애는 필터링이 걸려있기 때문에 해당 페이로드가 안먹혔다. 그렇다면 저거를 우회하는 방법을 생각해야하는데 꺽쇠가 3번에는 필터링이 안되므로 이를 이용하면 된다.

3. 풀이

</script>이거를 맨 앞에 입력해준다면, 현재 스크립트 태그의 끝이라고 판단하여 스크립트 태그가 닫힐것이고 우리는 이 뒤에 새로운 스크립트 태그를 열어서 alert()를 띄우면 된다.
<script>가 아니여도 다른걸로도 된다. <img onerror=> 이벤트핸들러를 이용했다.

4. 몰랐던 개념

none