Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Web
- WarGame
- 웹해킹
- 드림핵
- TCP
- bee-box
- webhacking
- 네트워크보안
- 네트워크
- 모의해킹
- System
- 순서도
- XSS
- hacking
- 시스템
- 소프트웨어보안
- CodeEngn
- 시스템해킹
- ftz
- dreamhack
- Webhaking
- 알고리즘
- 웹
- reversing
- 리버싱
- 비박스
- network
- 소프트웨어
- 해킹
- 워게임
Archives
- Today
- Total
Without a Break
[Dreamhack] ClientSide: XSS 본문
클라이언트 사이드 취약점 : 웹페이지의 이용자를 대상으로 공격할 수 있는 취약점
- 해당 종류의 취약점을 통해 이용자를 식별하기 위한 세션 및 쿠키 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있다.
- 클라이언트 사이드 취약점의 대표적인 공격 : Cross Site Scripting(XSS)
XSS
XSS의 특징
- 클라이언트 사이드 취약점 중 하나로, 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있다.
- 공격자는 XSS를 통해 특정 계정의 세션 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있다.
- SOP 보안 정책이 등장하면서 서로 다른 오리진에서는 정보를 읽는 행위가 이전에 비해 힘들어졌다. => 하지만 이를 우회하는 다양한 기술이 소개되면서 XSS 공격은 지속되고 있다.
XSS 발생 예시와 종류
XSS 공격은 이용자가 삽입한 내용을 출력하는 기능에서 발생한다.
클라이언트는 HTTP 형식으로 웹 서버에 리소스를 요청하고 서버로부터 받은 응답, 즉 HTML, CSS, JS등의 웹 소스를 시각화하여 이용자에게 보여준다. 이 때, HTML, CSS, JS와 같은 코드가 포함된 게시물을 조회할 경우 이용자는 변조된 페이지를 보거나 스크립트가 실행될 수 있다.
종류 | 설명 |
Stored XSS | XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSS |
Reflected XSS | XSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSS |
DOM-based XSS | XSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSS |
Universal XSS | 클라이언트의 브라우저 혹은 브라우저의 플러그인에서 발생하는 취약점으로 SOP 정책을 우회하는 XSS |
XSS 스크립트의 예시
자바스크립트는 웹 문서의 동작을 정의한다. 자바스크립트에는 이용자를 식별하기 위한 세션 및 쿠키가 웹 브라우저에 저장되어 있기 때문에 버튼 클릭 시 이벤트를 발생시키고, 데이터 입력 시 데이터를 전송하고, 이용자의 상호 작용 없이 이용자의 권한으로 정보를 조회하거나 변경하는 등의 행위가 가능하다.
따라서, 공격자는 자바스크립트를 통해 이용자에게 보여지는 웹 페이지를 조작하거나, 웹 브라우저의 위치를 임의의 주소로 변경할 수 있다.
=> 자바스크립트는 다양한 동작을 정의할 수 있기 때문에 XSS 공격에 주로 사용된다.
Stored XSS
- Stored XSS는 서버의 데이터베이스 또는 파일 등의 형태로 저장된 악성 스크립트를 조회할 때 발생하는 XSS이다.
- 대표적으로 게시물과 댓글에 악성 스크립트를 포함해 업로드하는 방식이 있다. => 게시물은 불특정 다수에게 보여지기 때문에 해당 기능에서 XSS 취약점이 존재할 경우 높은 파급력을 가진다.
Reflected XSS
- 서버가 악성 스크립트가 담긴 요청을 출력할 때 발생한다.
- 대표적으로 게시판 서비스에서 작성된 게시물을 조회하기 위한 검색창에서 스크립트를 포함해 검색하는 방식이 있다.
- Stored XSS와는 다르게 URL과 같은 이용자의 요청에 의해 발생한다. => 공격을 위해서는 타 이용자에게 악성 스크립트가 포함된 링크에 접속하도록 유도해야 한다. (이용자가 눈치챌 수 있기 때문에 주로 다른 취약점과 연계하여 사용)
'Web > Wargame' 카테고리의 다른 글
[Dreamhack] xss-2 (0) | 2022.09.21 |
---|---|
[Dreamhack] xss-1 (0) | 2022.09.21 |
[Dreamhack] Cookie (0) | 2022.09.17 |
[Dreamhack] session-basic (0) | 2022.09.17 |
[Dreamhack] web-misconf-1 (0) | 2022.09.17 |