[XSS-GAME] Level 4: Context matter

3단계 문제 해결 후 4단계 문제에 도전해 보겠다.

 

4단계 문제

4단계 문제는 타이머를 생성할 때 설정하는 시간의 값에 스크립트를 삽입하는 것으로 유추가 된다.

 

임의의 값 입력

어떤 동작을 하는지 확인하기 위해서 임의의 값을 삽입해 본 결과 img 태그에 onload 핸들러에 입력값이 삽입이 되는 것을 확인할 수 있다.

 

필터링 존재 확인

필터링이 어떻게 존재하는지 정보를 획득하기 위해 ' , " , > 값을 삽입한 결과 

" 가 &quote로 치환되고 다른 나머지는 치환되지 않았다.

이를 통해 onload 핸들러 안에서 스크립트를 실행시켜야 한다는 것을 확인하였고, startTimer를 지울 수 없기에  ;(세미콜론)을 사용하여야 되겠다는 추측과 마지막에 ');붙기 때문에 안 적어도 되겠다는 생각이 든다.

 

 

12');alert('1

 

입력란에 위의 값을 집어넣어서 타이머를 생성해 보겠다.

문제해결

문제가 해결되는 것을 확인할 수 있다.