4. 1. XSS의 정의
사이트간 스크립팅, 크로스 사이트 스크립팅 영문 명칭 Cross-Site
Scripting은 웹 애플리케이션에서 많이 나타나는 취약점의 하나로
웹 사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입
할 수 있는 취약점. (Wikipedia : 크로스사이트 스크립팅의 정의)
8. Reflective XSS
공격자가 악성 스크립
트가 포함된 URL을 클
라이언트에게 노출시
켜 클릭하도록 한다.
Stored XSS
데이터 베이스에 악
성 스크립트를 저장
하여 클라이언트 브
라우저에서 실행 시
키게 하는 공격
DOM XSS
클라이언트에서 수
신받은 문서를 공격
자가 의도한 문서로
조작한다.
2. XSS의 유형
10. 1. 순수한 스트리밍 x동사이트인줄 알고 클릭했더니 악성
Active X가 설치됨
2. 이상한 사이트를 접속했더니 바탕화면에 바로가기가 설
치된다거나 이상한 사이트가 즐겨찾기됨
3. 유용한 유틸리티 다운받을 수 있는 URL이라 선택했는데
다운받고 나니 악성프로그램.
4. 악성 플래쉬 소스를 이용한 웹페이지를 열람하게됨.
Reflective XSS
공격자가 악성 스크립트
가 포함된 URL을 클라이
언트에게 노출시켜 클릭
하도록 한다.
2. XSS의 유형
12. 1. 게시판에 악성 스크립트를 삽입한 글을 남기고 다른 사용
자가 해당 게시글을 읽었을 경우 악성 스크립트가 실행되게
된다.
2. 저장된 악성스크립트에 특정 돔객체의 event를 조작하는
스크립트를 삽입하여 악성스크립트를 실행하게 한다.
3. XmlHttpOpen,$.ajax, $.get, $.post 객체의 EventEmitter를
이용하여 공격자의 서버에도 피해자의 발생 데이터를 같이
받아볼 수 있도록 한다.
Stored XSS
데이터 베이스에 악
성 스크립트를 저장
하여 클라이언트 브
라우저에서 실행 시
키게 하는 공격
4. 서버에서 문자열 치환 작업을 역 이용해서 스크립트를 삽
입하거나, 문자열의 인코딩을 아예 변환한 악성 스크립트를
저장하도록 한다.
2. XSS의 유형
14. DOM XSS
클라이언트에서 수신
받은 문서를 공격자
가 의도한 문서로 조
작 한다.
1. 클라이언트가 읽을 수 있는 파라메터 값을 타인이 만들어
서 넣을 수 있는 기능이 있을 때 발생할 수 있다.
예: (친구의 이름:(이름에다가 악성스크립트를 넣을 때)
2. 서버에서 클라이언트에게 뿌리는 값이 다른 클라이언틀
에 의해 만들어지는 모든 입출력 데이터는 XSS 필터를 거치
고 난 후에 출력 될 수 있도록 해야한다.
2. XSS의 유형
18. 4. 대처 방안
Server-Side 에서
XSS 필터를 구현하자
외부 플러그인 및 라이브러리를
적용시킬 때 SQL Injection 및
XSS에 대한 성능을 자가진단으로
테스트해본다.
개인정보 및 운영 정보는
Client-Side에 저장 시키는것을
지양한다.
[< > “ ‘ ; : ` ! @ # $ % & * | ( ) { } ]
위와 같은 문자열을 치환해서 사
용하도록 하자.