alert() 함수를 호출하는 문제이다.
처음 화면에서 입력창에 3이 적혀있는 것을 볼 수 있다.
그대로 입력해보면, 3초 안에 타이머가 실행된다면서 Time is up! 이라는 alert 창이 뜨는 것을 볼 수 있다.
이전과 같은 방식으로 onerror 이벤트도 써보았다. 당연히 풀리지 않았다.
힌트는 이렇게 주어져 있었다.
마지막 힌트대로 '(작은 따옴표)를 입력하여 실행시켜보니, 무한루프에 빠진 듯 alert함수가 실행되지 않았다.
'alert('1')' 이라는 문장을 HTML 코드로 인코딩하여 넣어보았다.
(hint 2 활용)
입력 값: alert('1')'
하지만 여전히 풀리지 않았다.
소스코드를 살펴봤을 때 21번째줄에서 startTimer 함수가 호출되는 것을 볼 수 있었다.
여기서 {{ timer }} 부분에 사용자의 입력 값이 들어가는 것을 알 수 있다.
그렇다면 우리가 공격해야할 부분은 이 곳이다!
여기에 입력 값을 아래와 같이 주어 보았다.
입력 값: 1'); alert('hello
그러면 코드는 아래와 같이 될 것이다.
onload = "startTimer('1'; alert('hello');"/>
startTimer 함수가 실행된 후에 alert함수가 실행된다.
congratulations 메세지가 적힌 alert()창이 실행되며 다음 단계로 넘어갈 수 있게 되었다.
'1. Web hacking (웹 해킹) > 1) Write UP' 카테고리의 다른 글
[2020.9.26] XSS게임실습 2 (0) | 2020.09.26 |
---|---|
[2020.9.19] XSS 게임실습 1 (0) | 2020.09.24 |
[2020.05.19] XSS Game Level6 (0) | 2020.05.24 |
[2020.04.14] XSS Game Level5 (0) | 2020.04.26 |
[2020.03.31] XSS Game Level 1,2,3 (0) | 2020.04.26 |