Stored XSS : LAB [1]
DATE : 2024/1/8
❗Stored XSS into HTML context with nothing encoded

이번 LAB은 Stored XSS로 팝업 창을 띄우는 게 최종 목표이다.
LAB으로 들어가면 여러 개의 블로그를 볼 수 있는데 이 중 마음에 드는 아무거나 클릭해보자.

블로그 상세 페이지는 사진, 본문, 댓글로 구성되어 있다.
페이지 하단으로 가보면 위와 같이 댓글을 작성할 수 있는 Comment form을 볼 수 있을 것이다.

사용자가 댓글을 입력하면 서버는 이를 저장해두었다가
해당 블로그를 요청한 사용자에게 페이지를 만들어줄 때 댓글 내용을 포함한 응답을 보내줄 것이다.
즉 Stored XSS를 수행하기 위해 데이터를 저장하고, 이후 응답에서 출력해야 한다는 조건을 만족한다.
따라서 댓글 창에 스크립트를 작성해 넣어보기로 했다.
<script>alert(1)</script>
만약 서버에서 스크립트가 삽입될 것을 고려하지 않았다면
문제 없이 스크립트가 실행되면서 팝업 창이 뜬 화면을 볼 수 있을 것이다.

댓글을 입력한 다음, 해당 블로그로 다시 들어가 보면
블로그 요청에 대해 서버가 가지고 있는 블로그 내용을 싸-악 꺼내다 사용자에게 보내줄 것이다.
이때 공격자가 작성해둔 스크립트 또한 전달되면서 사용자의 브라우저에서는
스크립트가 실행된 결과가 나타나게 되는 것이다. 👍
Last updated