워게임/xss-game.appspot.com

[XSS game] Level 4

name2965 2022. 4. 28. 17:40
728x90

 

 

 

 

이번 웹사이트는 타이머를 동작시킬 시간을 10으로 입력하면

 

 

 

 

다음과 같이 타이머가 10초동안 동작하고 시간이 끝나면

 

 

 

 

Time is up! 이라는 메세지가 출력됩니다.

 

공격벡터는 2가지로 생각됩니다.

 

 

 

이 스크립트는 웹사이트의 타이머가 구현된 자바스크립트입니다.

 

숫자가 입력되면 그 숫자만큼 타이머가 작동하는 방식인데

 

 

 

소스코드를 보면, img 태그를 통해서 로딩 gif 파일이 불러와지면서 

입력된 숫자를 onload 이벤트처리 태그를 통해서 startTimer 함수로 보내는 방식입니다.

 

이 부분을 보면 10이라는 숫자는 클라이언트 상에 그대로 전달되기 때문에

 

이 부분을 통해서 스크립트를 삽입할수 있을것이라고 가정하고 작성해보면

 

 

10'); alert('1

 

다음과 같은 코드를 작성할수 있는데 이 코드를 숫자를 입력하는 칸에 입력하면

 

 

 

클라이언트 상에 다음과 같이 전달되면서 onload 를 건들지 않고 alert를 성공적으로 삽입한것을 확인할수 있습니다.

 

 

 

 

이 스크립트를 전송하면 성공메세지가 출력되면서 다음 Level로 넘어갈수 있습니다.

728x90

'워게임 > xss-game.appspot.com' 카테고리의 다른 글

[XSS game] Level 6  (0) 2022.04.29
[XSS game] Level 5  (0) 2022.04.28
[XSS game] Level 3  (0) 2022.04.28
[XSS game] Level 2  (0) 2022.04.28
[XSS game] Level 1  (0) 2022.04.27