보안/Wargame
XSS-Game - Level 2: Persistence is key (Writeup/문제풀이)
두 번째 단계에서도 1단계와 동일하게 alert() 를 페이지 내에 삽입(inject)하면 되는 문제다. 그래서 1단계와 동일하게 input 내용에 아래와 같이 입력해보았다. 하지만 alert 는 발생하지 않았고, 내가 입력한 내용 또한 드러나지 않았다. 그래서 소스코드를 직접 확인해본다. 하지만 예상과는 다르게 script 는 어떠한 필터링 없이도 잘 들어갔으나 여전히 alert는 동작하지 않았다. 그리고 사실 여기에는 당연한 이유가 있었다. 조금 더 분석해본 결과, input에 글을 입력하여 "Share status" 버튼을 눌러 글을 작성하게 되면, 글은 서버에 올라가는 것이 아니라 Local Storage에 javascript를 이용하여 저장이 된다. 그리고 새로고침을 통해서 글을 불러오게 될 경..