XSS game 1-6번 풀이

2023. 3. 23. 15:36

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

 

XSS game

Welcome, recruit! Cross-site scripting (XSS) bugs are one of the most common and dangerous types of vulnerabilities in Web applications. These nasty buggers can allow your enemies to steal or modify user data in your apps and you must learn to dispatch the

xss-game.appspot.com

해당 사이트에 있는 xss game 풀이를 진행하였다.

 

1번 문제

초기 화면) 

 

풀이) 검색할 수 있는 부분이 존재하여 해당 부분에 <script>alert('1234')</script> 라는 구문을 넣어 검색을 해주니 xss 공격에 성공하며, 1번 문제를 해결할 수 있었다.

                                                                                                              

 

 

2번 문제

초기 화면) 

 

풀이) 우선 1번과 동이랗게 alert()를 사용하는 거 같았다. 하지만 동일한 <script>alert('1234')</script> 구문을 넣어보았지만 통하지 않았고, <script> 태그를 필터링 하는 거 같아서 <scr<script>ipt>alert('1234');</scr<script>ipt> 구문을 넣어보았지만 xss 공격이 성공하지 않았다.

이를 통해서 스크립트 태그 자체가 아예 통하지 않는 다는 것을 확인하여 자바스크립트 구문을 사용해보았다.

<img src="#" onclick=alert('1')> 라는 구문을 넣고 Share status! 버튼을 눌러주니 글을 작성할 수 있었고, 작성한 내용 중 사진 이모티콘을 클릭하니 xss 공격이 성공한 것을 확인할 수 있었다.

 

 

3번 문제

초기 화면)

 

풀이) Image 1, Image 2, Image 3을 누를 때마다 해당 url 마지막 부분이 바뀌는 것을 확인하였다.

이를 이용하여 url에 아무 숫자나 넣어주었더니 적용되는 것을 확인할 수 있었다.

이후 url 부분에 스크립트 태그와 자바 스크립트 구문을 넣어보았지만 적용되지 않았다.

적용되지 않는 이유를 알아보고자 타겟 코드를 확인해주었고, 해당 부분의 코드 형식이 아래와 같았다.

이 형식대로 따옴표 개수를 맞춰도 공격이 되지 않았다. 이를 통해 스크립트 태그와 자바 스크립트 구문이 적용이 되지 않는 것을 확인하여 다음으로 이벤트 속성인  onerror="alert('xss')" 구문을 넣어보았더니 아래와 같이 xss 공격에 성공하였다.

https://xss-game.appspot.com/level3/frame#2' onerror="alert('xss')"

 

 

4번 문제

초기 화면)

 

풀이) 입력 창에 숫자를 넣으면 해당 숫자만큼의 시간이 지난 후 Time is up!이라는 창이 뜨는 것을 확인하였다.

이후 해당 부분의 코드를 살펴보니 아래 박스 친 부분에 숫자가 들어가고 실행이 되는 것을 확인하였다.

이를 이용하여 해당 구문에 timer을 닫아주고 alert 구문을 사용해보았다.

완벽한 문장을 만들기 위해 앞 문장을 닫아주는 ');를 먼저 추가해준 뒤 alert('xss 라는 문장을 넣고 실행해주니 xss 공격에 성공하였다.

');alert('xss

 

5번 문제

초기 화면)

 

풀이) Sign up을 누르니 url이 변하면서 이메일을 입력하는 창과 next에 값이 들어가는 것을 확인하였다.

코드를 확인해보니 아래 박스 친 문장을 통해 next를 받아 실행하는 것을 확인하였다.

이후 4번 문제처럼 alert 구문을 넣어보았지만 적용되지 않았다. 다음으로 자바 스크립트 구문을 사용해보았다. 

url 중 next 뒤에 javascript:alert('xss'); 라는 자바 스크립트 구문을 넣어주고 go를 누른 뒤 next 버튼을 누르니 xss 공격에 성공하였다.

 

 

6번 문제

초기 화면) 

(문제에 귀여운 토끼가 있지만 사실은 사악하게 어려운 문제다.)

 

'seKUrity' 카테고리의 다른 글

불충분한 인증/ 인가 취약점  (0) 2023.03.28
SOP 정책과 CSP 정책  (0) 2023.03.24
SSTI  (0) 2023.03.08
SQL injection  (0) 2023.03.08
HTTP  (1) 2023.03.08

BELATED ARTICLES

more