페이지에 접속하면 다음과 같이 자신의 상태를 남길 수 있는 페이지가 있습니다. level 1과 똑같이 클라이언트가 쓴것을 그대로 클라이언트에게 반환합니다.
script 태그를 이용해서 payload를 짜보겠습니다.
<script>alert(1)</script>
정상적으로 alert 함수가 호출되지 않았습니다. 웹 브라우저의 개발자 도구로 HTML을 분석해보겠습니다.
blockquote
태그에 의해 script가 들어가게 되는데, 이 blockquote
의 경우에는 디스플레이 되는 무언가가 있어야 정상적으로 작동합니다. 모질라의 공식 참고문서
그럼 디스플레이 되는 무언가는 image가 되겠습니다.
img 태그를 써서 페이로드를 다시 짜보겠습니다.
<img src="" onerror="javscript:alert(1)">