write-up(web)/misc

[xss-game] Level 6: Follow the 🐇

chanchand 2023. 1. 21. 20:28
반응형

문제


https://xss-game.appspot.com/level6

 

https://xss-game.appspot.com/level6

Oops! Based on your browser cookies it seems like you haven't passed the previous level of the game. Please go back to the previous level and complete the challenge.

xss-game.appspot.com

 

 

문제풀이


소스 코드 확인 시, # 뒤에 전달된 값을 script 태그의 src로 설정한다.

이 때, 전달된 값이 https:// 문자열로 시작할 때 필터링 된다. 이는 HTTPS, Https 등으로 우회가 가능하다.

외부 서버에서 악성 스크립트 생성 후 실행하려고 했는데, 스크립트 코드가 실행되지 않았다.

 

힌트의 4번의 링크를 접속해보면 foo 함수를 호출하는 것을 확인할 수 있는데, foo 대신 alert를 전송하면 alert 함수가 실행된다.

 

https://www.google.com/jsapi->https://www.gstatic.com/charts/loader.js 

이를 참고하여 alert 함수를 실행할 수 있다.

https://xss-game.appspot.com/level6/frame#Https://www.gstatic.com/charts/loader.js?callback=alert

 

또 다른 풀이가 있는데, 서버를 사용하지 않고 data url schema를 사용하여 풀 수 있다.

data:[자료타입],[데이터] 형식으로 입력하여 실행할 수 있다.

반응형

'write-up(web) > misc' 카테고리의 다른 글

[suninatas] WEB 2  (0) 2023.10.26
[suninatas] WEB 1  (1) 2023.10.26
[xss-game] Level 5: Breaking protocol  (0) 2023.01.21
[xss-game] Level 4: Context matters  (0) 2023.01.21
[xss-game] Level 3: That sinking feeling...  (0) 2023.01.21