Portswigger-Reflected XSS into a JavaScript string with angle brackets HTML encoded
풀이
검색 쿼리 추적 기능에 XSS 취약점이 있다. XSS로 alert을 띄워라.

접속하면 검색 창이 있다.

검색한 값은 h1 태그의 텍스트값으로 반사된다. 또한 script 태그로 감싸진 곳에 javascript 문자열로 하드코딩된다. 그리고 img 태그의 src 값에도 반사된다. img 태그는 이 javascript 코드를 통해 생성되었다. URL 인코딩되어 들어가므로 이 코드를 이용해 악의적인 img 태그를 생성하기는 어렵다.
검색값은 search라는 이름의 URL 쿼리로 들어간다.

';alert(1);//' 페이로드를 이용하여 javascript 문자열을 닫은 후 alert 하고, 주석처리를 하여 뒤에 남아있는 ';를 처리하면 성공한다.
이 취약점은 사용자가 입력한 값을 충분히 검증하지 않고 반사하여 발생하였다. ’ 문자를 적절히 필터링하지 않아 문제가 발생했다.
tags: writeup, xss, reflected xss, wstg-inpv-01, web hacking