문제풀이

[XSS game] Level 3 문제풀이

suuuullloc 2022. 11. 7. 16:01

레벨 3으로 넘어가보자. 이런 창이 뜬다.

문제를 읽어보니 alert에 대한 얘기를 하는데 레벌 1, 2와 달리 답을 입력하는 곳이 따로 없고 URL을 이용해서 문제를 풀어야 하는 것 같다.

이미지 1, 2, 3을 눌러보니 각각 흑백 컴퓨터 사진이 나오고 URL이 frame#1, #2, #3으로 바뀐다.

 

힌트를 살펴보자. 힌트 2에서는 window.loacation에 대해서 얘기하고 있고 힌트 4에서는 <script>를 사용했을 때 작동하지 않는 이유를 설명하고 있다. 힌트에서 특별히 해결과정을 찾지는 못했다. 다음으로는 코드를 살펴보자.

 

html을 살펴봤을 때 img 태그 뒤에 어떤 식으로 링크를 작성했는지 알 수 있다. 힌트 3에서도 html의 구성요소를 살펴보라고 얘기하고 있는 걸 알 수 있다.

 

https://xss-game.appspot.com/level3 현주소의 뒷부분에 frame창으로 이미지를 먼저 띄워주고 그 이미지가 없으면 onerror 코드로 대체되어 swulg 팝업창이 뜰 수 있도록 코드를 짜보았다.

/frame#'1.jpg' onerror='alert("swlug")'>

 

코드를 url 창에 입력해보자.

 

이미지 창이 없다는 창과 함께 팝업창이 뜨면서 문제가 해결된다.