XSS 란?

XSS는 Cross-Site Scripting의 약어로, 웹 애플리케이션에서 발생하는 취약점 중 하나입니다.
XSS 공격은 해커가 웹 애플리케이션에 악성 스크립트를 삽입하여, 해당 애플리케이션을 사용하는 다른
사용자들의 브라우저에서 실행되도록 유도하는 것입니다.


1. Stored XSS( DB를 불러오는 과정에서 XSS 발생. )

 

stored XSS 의 기본적인 흐름입니다.

1
. 공격자는 웹 서비스에 악성 스크립트를 주입합니다. ( 게시판, 댓글 과 같이 DB에 저장하는 페이지)

2. 주입한 악성 스크립트는 어플리케이션에서 데이터 베이스로 이동하며, 악성스크립트를 저장합니다.
3. 사용자는 웹 서비스에 들어갑니다.
4. 공격자가 DB에 작성한 악성 스크립트는 사용자가 들어간 웹 페이지에 뿌려줍니다.
5. 뿌려진 악성 스크립트는 사용자의 브라우저에 실행됩니다.
6. 사용자의 브라우저에서 사용자의 정보를 공격자 서버로 노출됩니다.

아래의 reflected xss와 Dom-based xss  와 달리 DB에 저장한다는 것이 차이점입니다. 


2. Reflected XSS( 서버 측에서 동적 페이지 구성을 하는 기능에서 XSS 발생 )

 

reflected XSS 의 기본적인 흐름입니다.

1. 공격자는 (게시판에 등록해 놓은 링크 등...) 매개체로 URL에 악성 스크립트를 추가하여 사용자를 이동하게
    만듭니다.

2. 링크를 클릭한 사용자는 페이지 이동을 위해 웹 서비스로 들어가며, Application 까지 도달합니다.
3. Application에서는 사용자에게 페이지를 제공해주는데, 공격자가 작성한 악성 스크립트가 실행된 페이지를
   구성합니다.

4. 사용자는 작성된 악성 스크립트에 의해 공격자 서버에게 노출됩니다.

3. DOM-based XSS  ( 클라이언트 측에서 DOM을 통해 동적 페이지 구성을 하는 기능에서 XSS 발생)

DOM-based XSS 의 기본적인 흐름입니다.

1. 공격자는 게시판에 등록해 놓은 링크와 같은 매개체로 URL에 악성 스크립트를 추가하여 사용자를 이동하게    만듭니다.
2. 링크를 클릭한 사용자는 페이지 이동을 위해 웹 서비스로 들어가며, Application 까지 도달합니다.
3. Application에서는 사용자에게 페이지를 제공합니다.
4. 사용자의 브라우저에서 악성 스크립트를 받아 실행이 되며, 공격자 서버에 노출이 됩니다.

 

출처링크
https://www.inflearn.com/course/%EB%AA%A8%EC%9D%98%ED%95%B4%ED%82%B9-xss-%EA%B3%B5%EA%B2%A9%EA%B8%B0%EB%B2%95

'웹 모의해킹 > 방법론' 카테고리의 다른 글

ServerSide: File Vulnerability (파일 취약점)  (2) 2024.10.24