XSS 공격
- 웹 상에서 가장 기초적인 취약점 공격 방법의 일종으로 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법
- 공격 성공 -> 사이트에 접속한 사용자는 삽입된 코드 실행 -> 의도치 않은 행동을 수행시킴 or 쿠키나 세션 토큰 등의 민감한 정보 탈취
- 자바스크립트 사용하는 경우 많음
종류
- 저장 XSS 공격 (Stored XSS) -> 보안상 가장 위협
악의적인 스크립트코드가 웹에 입력되면서 DB에 저장된다. 불특정 다수가 공격자의 게시물에 접근하면 지속적으로 악의적인 스크립트가 실행되어 위협이 큰 편이다.
ex) 랜섬웨어
<공격 단계>
- 게시판, 프로필, 댓글 등에 악성 스크립트를 삽입
- 사용자가 사이트를 방문하여 저장되어 있는 페이지에 정보를 요청할 때(게시판 글 읽기 등)
- 서버는 악성 스크립트를 사용자에게 전달하여 사용자 브라우저에서 스크립트가 실행되면서 공격
- 반사 XSS 공격 (Reflected XSS)
웹페이지 URL에 존재하는 파라미터의 악의적인 스크립트 코드를 입력하여 사용자가 URL을 클릭하면 그 코드가 실행되게 하는 공격이다.
<공격 단계>
- 취약점이 있는 A사이트를 발견
- 민감한 정보를 획득할 수 있는 공격용 악성 URL을 생성
- 공격자는 이 URL을 이메일, SMS 등에 포함하여 배포하고 클릭 유도
- 피해자가 URL을 클릭하면, 바로 공격 스크립트가 피해자로 반사되어 A 사이트에 관련된 민감한 정보(ID/패스워드, 세션 정보)를 공격자에게 전송
- DOM 기반 XSS 공격 ( DOM Based XSS)
DOM 환경에서 URL을 해 사용자의 브라우저를 공격하는 것이다.
DOM : W3C 표준으로 HTML 및 XML 문서에 접근방법을 표준으로 정의하는 문서객체모델
W3C에서는 DOM을 '프로그램 및 스크립트가 문서의 컨텐츠, 구조 및 형식을 동적으로 접근 및 업데이트할 수 있도록 하는 언어 중립적인 인터페이스다'라고 정의되어 있다. DOM은 HTML문서를 계층적으로 보면서 컨텐츠를 동적으로 변경할 수 있다.
'Web Hacking > WEB Hacking 기초' 카테고리의 다른 글
[SISS] XSS Game 05, 06 (0) | 2022.01.22 |
---|---|
[SISS] XSS Game 03, 04 (0) | 2022.01.10 |
[SISS] 생활코딩 DATABASE-MySQL 정리 (0) | 2022.01.08 |
[SISS] XSS Game 01, 02 (0) | 2022.01.03 |
[SISS] 생활코딩 WEB2-PHP 정리 (0) | 2021.12.28 |