본문 바로가기
Portswigger/XSS

Portswigger - Reflected XSS into a JavaScript string with angle brackets and double quotes HTML-encoded and single quotes escaped solution

by jh117jh 2023. 10. 5.
728x90

이번 문제는 HTML로 태그(<,>)와 더블쿼터(")가 인코딩 되어 필터링되고 싱글쿼터(')가 이스케이프 처리 된다.

 

이번 문제는 매우 간단하고 많이 풀어봤던 기법이다.

script는 지난 문제와 동일하고 우리가 지금까지 문제를 풀면서 백슬래쉬(\)가 앞에 있으면 특수문자가 문자열 취급받는 것을 알았다.

지난 문제에서는 백슬래쉬(\)도 이스케이프 처리 당해서 사용하지 못했지만 이번 문제에서는 필터링이 되지 않으므로

\';alert(0);//을 입력하면 싱글쿼터(')앞에 백슬래쉬(\)가 추가될 것이고

이러한 형식으로 작성될 것이다. 

'\\';alert(0);//'; 

싱글쿼터 앞에 추가된 백슬래쉬는 우리가 입력했던 백슬래쉬에 의해 문자열 취급을 당하게 되고 그러면 싱글쿼터가 특수문자의 기능을 가지기 때문에 alert함수를 호출할 수 있다. 초록색 부분은 주석처리로 날려버리면

문제가 풀리는 걸 알 수 있다.

728x90