해킹/Web Hacking(웹 해킹)

[XSS Game 풀이] (1) Hello, world of XSS

V1nc3nt 2019. 9. 25. 13:58

1. 제가 포스팅하는 내용은 막 가져다 쓰셔도 됩니다. 출처만 적어주세요

2. 틀리거나 정정이 필요한 내용은 막 적어주셔도 됩니다.

3. 단순 공부와 정보 제공을 위한 포스팅이므로 아래 내용을 활용한 그 어떤 불법적인 행동도 저는 책임 못지니 알아서들 하시면 됩니다.

 

XSS Game 첫 번째 레벨, Hello, World of XSS라며 반겨줍니다.

 XSS, Cross Site Scripting의 약자로 원래는 CSS지만 HTML을 이쁘게 꾸며주는 Cascading Style Sheet와 겹치는 바람에 이름을 XSS로 정했다고 알고 있습니다.

 

 먼저 Cross Site Scripting은(이하 편의상 "크사"라고 하겠습니다) SQL Injection과 함께 웹 상에서 가장 기초적이지만 그에 비해 위협적인 공격의 일종으로 클라이언트 페이지에서 게시글을 입력하는 공간이나, 검색 등 텍스트가 들어가는 구석에 스크립트를 입력해 공격하거나 URL에 스크립트를 넣어 공격하는 방법이 보통입니다, "크사"에 대한 상세한 내용은 다음에 기회가 되면 추가로 포스팅 하기로 하겠습니다.

 

 따라서 이번에 구글에서 제공하는 XSS Game의 총 6가지 문제풀이를 포스팅 하려고 하는데요, XSS Game은 XSS 해킹을 연습(?)할 수 있도록 만들어놓은 페이지 속의 페이지 입니다. 그래서.. 하라는 XSS해킹 말고 다른거 하면 아무래도 문제가 되겠죠?

 

첫 번째 문제, 저 페이지에서 alert()만 띄우면 됩니다.

 첫 번째 문제(XSS Game : Level1)입니다. 딱 봐도 검색기능이 있어보이는 입력창과 버튼만 있네요. JavaScript의 alert(1)을 입력하고 Search버튼을 클릭해 봅시다.

 

그런거 없답니다..

 그런거 없다고 하네요. 보통 JavaScript를 HTML페이지 안에서 쓰려면 <script></script>태그로 감싸주고 그 안에 입력하지요?

<script>alert(1)</script>

로 수정해보도록 하겠습니다.

 

밑에 보면 참조할만한 페이지의 모양(파이썬, HTML, JS등)과 약간의 힌트도 확인 가능합니다.

 입력하고 Search 버튼을 다시 클릭해보겠습니다.

 

는 성공, 축하합니다 다음 레벨로 가세영~ 하는 문구가 나옵니다.

 가운데 제가 alert(1)로 입력한 1이 출력되면서 해당 레벨의 조건을 만족했네요. 다음 레벨로 넘어가 봅시다.

 

각 Level을 완료하면 Advance to next level >> 이라는 버튼이 생성됩니다.

 

- 요약 -

1. XSS는 크로스 사이트 스크립팅의 약자입니다. 저도 처음엔 왜 X인지 궁금했습니다.

2. XSS Game 풀라고 만들어놓은 페이지가 저거 말고도 더 있습니다

3. 보통 XSS에 취약한지 확인하기 위해 alert(1)을 띄우는데 이유는, alert이 가능하다면 이를 응용해서 더 많은 공격이 가능하기 때문입니다.

4. 정답 :

<script>alert(1)</script>

 

5. XSS Game Level1은 쉽습니다.