컴맹에서 컴공 그리고 화이트 해커가 되는 그날까지

XSS-game level 2, 3 본문

해킹/Web hacking

XSS-game level 2, 3

공부하는 뚱이 2023. 1. 31. 20:55
반응형

2단계

 

xss game 2단계

미션 설명:

웹 응용 프로그램은 종종 사용자 데이터를 서버 측 및 점점 더 클라이언트 측 데이터베이스에 보관하고 나중에 사용자에게 표시합니다. 이러한 사용자 통제 데이터가 어디에서 나오든 신중하게 처리해야 한다.

 

미션 목표:

스크립트를 삽입하여 응용 프로그램의 컨텍스트에서 경고()를 팝업 합니다.

참고: 이 응용 프로그램은 게시물을 저장하므로 경고를 실행하기 위해 코드를 몰래 입력하면 경고를 다시 로드할 때마다 이 수준이 해결됩니다.

 

Your Target

우선 1단계와 같이 <script>alert(1)</script>를 입력 후에 share status! 를 눌러보자!

 

 

<script>alert(1)</script>입력 결과

한국 표준시가 입력되었다???

아마 <script>가 코드상 필터링되어있는 것 같다.

그렇다면 다른 방식으로 경고창을 띄워야 할 것 같은데...

힌트를 보자!

 

This level is sponsored by the letters i, m and g and the attribute onerror?

 

i, m and g? = img?

그리고 onerror?

이건 img태그를 사용하여 alert()를 사용하여 문제를 해결할 수 있겠다!

 

<img src="#" onerror="alert(1)"> 이렇게 코드를 작성하여 Share status! 해보자

 

 

짜잔! 이렇게 밑에 깨진 이미지가 나오면서  문제를 해결했다.

 

 

3단계

 

 

미션 설명:

이전 수준에서 본 것처럼 일반적인 JS 기능 중 일부는 실행 싱크이며, 이는 브라우저가 입력에 나타나는 스크립트를 실행하도록 한다는 것을 의미합니다. 때때로 이 사실은 후드 아래에서 이러한 기능 중 하나를 사용하는 더 높은 수준의 API에 의해 숨겨져 있다.

이 레벨의 애플리케이션은 숨겨진 싱크 하나를 사용하고 있습니다.

 

미션 목표:

이전과 마찬가지로 앱에서 JavaScript 경고()를 팝업 하는 스크립트를 삽입합니다.

애플리케이션 어디에서도 페이로드를 입력할 수 없으므로 아래 URL 표시줄에서 주소를 수동으로 편집해야 합니다.

 

 

 

 

 

타깃을 보면 Image 1, 2, 3이 있고 이미지 버튼을 누르면 번호에 맞게 

URL:이 http://xss-game.appspot.com/level3/frame#(1,2,3)이렇게 나오면서 그림이 바뀐다.  

<script>도 작동이 안 되는 것 같다.

 

일단 코드를 살펴보도록 하자!

 

 
 여기서 html을 보면 frame#뒤에 오는 숫자가 num으로 들어가는 것 같다.
코드를 보면 1,2,3 3개 밖에 없는데 다른 숫자를 넣어보자.
 

4를 넣었을 때 이미지는 없고 Image 4라는 글만 나온다.

그럼 일단 4를 넣어 이미지가 없다는 결과를 만들고 xss공격을 넣어 alert()를 발생시키도록 해보자

 

즉 

frame#4' onerror='alert(1)' 이라고 URL에 넣으면

html += "<img src='/static/level3/cloud" 4' onerror'alert(1)' ".jpg' />";이렇게 되므로 결과적으로 경고창이 나오게 할 수 있는 것이다.

 

 

3번째 문제도 풀어보았다.

 

XSS 공격은 공격 대상의 코드를 잘 살펴보고 상황에 맞는 공격을 넣는 게 중요하다고 생각한다.

반응형

'해킹 > Web hacking' 카테고리의 다른 글

XSS-game level 5  (0) 2023.02.02
XSS-game level 4  (0) 2023.02.02
XSS 공격에 대하여!  (0) 2023.01.30
hackthissite/basic/8번 풀이  (0) 2022.11.24
hackthissite/basic/7번 문제 풀이  (0) 2022.11.24