https://dreamhack.io/wargame/challenges/268

https://velog.io/@woo2083/Dreamhack-XSS-1
바로 전에 푼 xss-1문제와 비슷한 문제이다. xss-1처럼 xss 취약점을 이용해 플래그를 획득하는 문제이다.
서버 생성 후 문제 사이트에 들어가보면 4개의 페이지로 구성되어있다.

구성은 이전 xss-1 문제와 같다.

구성은 이전 xss-1 문제와 같다.

구성은 이전 xss-1 문제와 같다.

구성은 이전 xss-1 문제와 같다.
@app.route("/vuln")
def vuln():
return render_template("vuln.html")
이전 xss-1 문제와 차이점은 return값을 html로 전달한다는 것이다.
이러면 xss-1 문제에서 사용한 <script> 태그로 xss를 발생 시키는 방법은 막힌 것으로 확인된다.
문제를 해결하기 위해선 vuln.html에서 발생하는 XSS 취약점을 통해 쿠키를 탈취해야한다.
document.cookie를 사용하기 위해선 <img src>를 사용해 우회 기법을 사용한다.
<img src="XSS-2">
위의 값을 flag 페이지에 입력을 하면 플래그를 획득할 수 있다.
입력 후 memo 페이지로 돌아가면 플래그 값이 있다.
