XSS (Cross Site Scripting)

Karter·2022년 4월 23일
0

보안

목록 보기
1/3

XSS

게시판이나, 웹, 메일 등 자바스크립트와 같은 스크립트 코드를 삽입 해 개발자가 고려하지 않은 기능이 작동하게 하는 치명적인 공격. 또한 대부분의 웹 해킹 공격 기법과는 다르게 클라이언트, 즉 사용자를 대상으로 한 공격이다.

Reflected XSS


공격자는 이런 취약점이 존재하는 페이지를 탐색 후 XSS공격을 위한 스크립트가 포함 된 URL을 공격 대상에게 노출시키는 방법으로 공격을 수행 할 수 있다.

웹 서버에서 스크립트를 포함한 Response를 전송하여 공격이 수행.

Stored XSS

웹 사이트 게시판에 스크립트 삽입하는 공격 방식.

공격자는 이런 취약점이 존재하는 페이지를 탐색 후 XSS공격을 위한 스크립트가 포함 된 게시글을 웹 사이트에 업로드 한다.
게시글 URL을 사용자에게 노출하고 사용자가 게시글을 확임함으로써 URL에 대한 요청을 서버에 전송하게 된다.
웹 서버에서 스크립트를 포함한 Response를 전송하여 공격이 수행.

XSS 위험성

1. 쿠키 정보 및 세션 ID 획득

만약 세션 ID 등을 쿠키에 포함하는 경우 XSS 공격을 통해서 페이지 사용자 세션 ID를 획득해 공격자가 불법적으로 정상 사용자인 척 할 수 있다.

2. 시스템 관리자 권한 획득

다양한 악성 데이터를 포함시킨 후, 사용자 브라우저가 악성 데이터를 실행시키게 할 수 있다.
공격자는 공격코드가 실행되도록 해 사용자의 시스템을 통제할 수 있다.
만약 회사 조직의 개인 PC가 해킹될 경우, 조직 내부로 악성 코드가 이동해 내부의 중요 데이터가 탈취 될 수 있다.

3. 악성코드 다운로드

XSS 공격 자체로 악성프로그램을 다운 받을 수는 없다. 하지만 사용자가 악성 스크립트가 있는 URL을 클릭하도록 유도 해 악성 프로그램을 다운로드 받는 사이트로 리다이렉트 하거나 트로이 목마 프로그램을 다운로드 하도록 유도할 수 있다.

4. 거짓 페이지 노출

원래 페이지와는 전혀 관련 없는 페이지를 표시할 수 있다. 원래 페이지의 일부를 변조 해 사용자의 개인 정보를 탈취 할 수도 있다.

XSS 방지법

XSS공격은 IPS, IDS, 방화벽 방법으로 막을 수 없다.
때문에 단수니 문자 필터링 하는 등의 방법만 존재한다.

1. script 문자 필터링

주로 스크립트의 특수 문자를 필터링 하여 script 문법이 아닌 문자로 치환하여 입력한 그대로 보여준다.

profile
미래 최고의 개발자

0개의 댓글