문제 설명
여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다.
XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.
플래그 형식은 DH{...} 입니다.
문제 웹 입니다.
vuln(xss) page에 들어가면 다음과 같이 url 상의 get 파라미터가 반환되어 스크립트가 실행됩니다.
script 구문이 실행되어 alert가 되고 있습니다.
다음은 memo page입니다.
memo는 memo 파라미터에 값을 입력 후 enter 시 메모창에 입력됩니다.
다음은 flag page입니다.
문제에 필요한 flag 값이 check_xss 함수의 인자로 들어가 있습니다.
check 함수의 인자에 flag 값이 할당되었으며 반환 값인 read_url은 url을 호출하는 기능이 있다.
read_url 함수를 통해 check 함수의 인자로 들어간 cookie 딕셔너리가 쿠키에 추가된 후 페이지가 호출됨으로 vuln 페이지에 다음과 같은 스크립트 구문을 추가하여 쿠키 값을 memo 페이지에 출력한다.
<script>window.location.href="/memo?memo="+document.cookie;</script>
flag창에 적은 후에 memo page에 출력시킨다.