보안/Dreamhack

Web Hacking STAGE 4 Cross-Site-Scripting (XSS)

넌 감동란이었어 2022. 7. 3. 16:26

XSS

클라이언트 사이드 취약점 중 하나로, 공격자가 웹 리소스에 악성 스크립트를 삽입하여 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있게 하는것 이다.

공격자는 해당 취약점을 통해 특정 계정의 세션 정보를 탈취할 수 있다.

XSS 종류

종류 설명

Stored XSS XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSS
Reflected XSS XSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSS
DOM-based XSS XSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSS
Universal XSS 클라이언트의 브라우저 혹은 브라우저의 플러그인에서 발생하는 취약점으로 SOP 정책을 우회하는 XSS

Stroed XSS

서버의 데이터베이스 또는 파일 등의 형태로 저장된 악성 스크립트를 조회할 때 발생하는 xss이다.

대표적으로 게시물과 댓글에 악성 스크립트를 포함하여 업로드하는 방식이 있다.

게시물은 모두에게 보여지기 때문에 xss 취약점이 존재할 가능성이 높다.

Reflected XSS

서버가 악성 스크립트가 담긴 요청을 출력할 때 발생한다.

대표적으로 게시판 서비스에서 작성된 게시물을 조회하기 위한 검색창에서 스크립트를 포함해 검색하는 방식이다.

이건 타 이용자에게 악성 스크립트가 포함된 링크에 접속하도록 유도해야한다.

 

출처

https://dreamhack.io/lecture/courses/173

 

ClientSide: XSS

이 코스에서는 클라이언트 사이드의 대표적인 공격인 XSS에 대해 설명합니다.

dreamhack.io