본문 바로가기
개인 공부/WEB

[웹해킹] XSS GAME - LEVEL 3

by 아메리카노와떡볶이 2021. 7. 13.
728x90
XSS GAME - LEVEL 3

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

 

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

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

xss game level 3 문제 풀이 포스팅입니다.

 

문제 접근

먼저 이전 문제들과 다르게 입력값을 주는 곳이 따로 없고 url을 통해 문제를 풀이해야하는거같다.

이미지 1,2,3이 전시되어 있는 사이트인데 각각 이미지를 눌러보면

url을 frame# 뒤에 있는 숫자를 통해 이미지가 전시되는거같다.

소스 코드를 살펴보면

html 변수에 <img src='/image path'+ num + " .jpg/> 형식으로 이미지태그가 들어가는 것을 볼 수 있는데

내가 frame#뒤에 어떤 값을 입력하면 num변수에 들어가는 것이다. 위의 예시에서는 num에 1,2,3이 들어가게 된 것이다.

level2에서 error를 통해 alert를 실행시킬때

https://man-25-1.tistory.com/117?category=1021805 

 

[웹해킹] XSS GAME - LEVEL 2

XSS GAME - LEVEL 2 https://xss-game.appspot.com/level2 https://xss-game.appspot.com/level2 Oops! Based on your browser cookies it seems like you haven't passed the previous level of the game. Please..

man-25-1.tistory.com

<img src='invalid path' onerror="alert('hello')" >

와 같이 스크립트를 넣어주었는데

지금 현재 위의 html 에 더해지는 코드는

<img src='/static/level3/cloud+ 나의 입력 +. jpg'/>이므로 

만약 입력에 'onerror='alert(1)'을 주게되면

<img src='/static/level3/cloud' onerror='alert(1)'.jpg/>

가 되어서 /static/level3/cloud는 유효하지않은 이미지 경로가 되고, 에러가 발생되면서 팝업 메시지가 출력된다.

확실하게 이미지 경로가 유효하지않은 것을 확인하고싶다면

실제로  num에 아무값을 주지않거나 또는 100 과 같은 값을 주어서 이미지가 유효하지 않은것을 확인하고

이렇게 작성해도 무방하다.

문제를 풀이한 뒤에 힌트를 살펴보았는데 4번을 보면 script 태그가 작동하지 않는 이유에 대해서

브라우저가 페이지를 로드한 뒤에 스크립트를 실행시키지않기때문에 <script>태그가 작동하지 않는 것이라고 한다.

스크립트 태그가 필터링 되는 이유를 안 알아보았는데 이런 이유였군 !

 

728x90

'개인 공부 > WEB' 카테고리의 다른 글

[웹해킹] XSS GAME - LEVEL 5  (0) 2021.07.13
[웹해킹] XSS GAME -LEVEL 4  (0) 2021.07.13
[웹해킹] XSS GAME - LEVEL 2  (0) 2021.07.13
[웹해킹] XSS GAME - LEVEL 1  (0) 2021.07.13
[웹해킹] xss에 들어가기 전 기초 공부하기  (2) 2021.07.13

댓글