WEB/웹해킹

XSS Game 1, 2

너굴맨이해치움 2022. 8. 12. 00:16

Level 1

가상의 웹사이트 검색창이다. alert() 함수를 이용하여 경고창을 띄우면 성공이라고 한다.

 

입력 : <script>alert();</script>

 

 

경고창을 띄웠다. 이런 식으로 진행되는 워게임이라는 것을 알려주는 튜토리얼이었다.

 

 

 

 

 

Level 2

시간을 숫자로 입력하는 타이머 사이트이다. 

여기에서도 역시 alert()를 작동시키면 성공이다.

레벨 1에서의 답은 답이 아니다. 시간 이외의 것을 입력하면 0초로 인식되어 타임 아웃 화면이 자동으로 뜬다.

 

타임 아웃 화면에서 검사 도구를 열어 코드를 확인하면 위와 같이 입력값이 전달되는 것을 볼 수 있다.

onload의 startTimer라는 함수에서 startTimer('입력값'); 형식을 취해 입력값을 인수로 사용하고 있다.

이 함수는 JS로 되어 있으므로, 인수를 조작해 다른 JS 코드로 만들면 성공일 것이다.

 

이를테면 위와 같은 방법을 시도해 볼 수 있겠다.

startTimer('');alert(''); 와 같은 식으로 입력하면 코드가 두 개로 나뉘어지며

타이머와 경고창 코드가 각자 실행될 것이다.

 

입력: ');alert('

성공했다. 다음 레벨로 넘어가자.