본문 바로가기

1. Web hacking (웹 해킹)/1) Write UP

[2020.04.07] XSS Game Level 4.Context matters

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