Presentation is loading. Please wait.

Presentation is loading. Please wait.

XSS 10111020 정 여 진.

Similar presentations


Presentation on theme: "XSS 10111020 정 여 진."— Presentation transcript:

1 XSS 정 여 진

2 <목차> XSS ? XSS 특성 XSS 종류 XSS 공격 XSS 대응방법

3 XSS Cross Site Scripting OWASP Top 10 취약점 중 에서 올해 3위에 선정된 취약점
OWASP(The Open Web Application Security Project)는 오픈소스 웹 애플리케이션 보안 프로젝트이다. 주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며, 10대 웹 애플리케이션의 취약점 (OWASP TOP 10)을 발표하였다

4 XSS XSS의 가장 일반적인 형태는 공격자가 웹 서버에 게시물을 통해
악성스크립트를 업로드하고, 사용자는 해당 게시글을 클릭했을 때 악성 스크립트가 실행되는 형태.

5 XSS 특성 공격 대상을 서버가 아닌 사용자의 정보를 추출하기 위한 공격 기법
사용자의 웹사이트 사용기록을 저장하는 쿠키파일을 기반으로 공격하는 기법

6 XSS 종류 악성스크립트가 실행되는 방식에 따라 Stored방식과 Reflective방식으로 나뉜다.

7 XSS - Stored 방식 공격자가 웹 서버에 악성스크립트가 담긴 게시물을 등록. 게시물은 웹 서버에 저장.
사용자가 웹 서버에 요청/응답할 때, 악성스크립트가 실행.

8 XSS - Reflective 방식 공격자는 게시글에 악성스크립트를 저장하는 것이 아닌, 악성스크립트가 담긴 URL을 노출.

9 XSS 공격

10 공격을 위한 사전 준비 1. XSS 공격 가능 여부 테스트

11 공격을 위한 사전 준비 1. XSS 공격 가능 여부 테스트 공격 스크립트를 작성한다.

12 공격을 위한 사전 준비 1. XSS 공격 가능 여부 테스트 팝업 창이 성공적으로 나타나면 해당 게시판은 XSS공격에 취약.

13 공격을 위한 사전 준비 2. getcookie ASP 파일 작성 파라미터로 받은 쿠키 값을 getcookie.txt라는 이름의
//객체생성 //text파일을 연다 //msg를 text파일에 넣고 저장 파라미터로 받은 쿠키 값을 getcookie.txt라는 이름의 텍스트 파일로 저장하는 역할.

14 공격 시나리오 3. admin 쿠키값 획득 1. XSS 게시물 접근 4. 획득한 쿠키 값을 사용하여 admin으로 로그인
2. 스크립트에 의한 ASP 첨부 파일 동작 3. admin 쿠키값 획득 4. 획득한 쿠키 값을 사용하여 admin으로 로그인 XSS 공격 스크립트가 입력된 게시물을 admin이 읽으면 admin의 쿠키 값이 getcookie.txt 파일에 저장. 공격자는 이 파일에 저장된 쿠키 값을 이용하여 admin 계정 권한으로 게시판에 접근

15 XSS 공격 실습 여진짱 정삭적으로 등록

16 XSS 공격 실습 XSS 공격 시 획득된 쿠키 값은 getcookie.asp 파일로 보내어져 텍스트 파일 형태로 저장. ASP 파일이 업로드된 경로를 알아야한다. 여진짱 업로드된 위치가 라는 것을 확인. getcookie.txt파일도 같은 경로에 저장.

17 XSS 공격 실습 여진짱 공격 스크립트를 입력한다.

18 XSS 공격 실습 admin admin 계정으로 로그인

19 XSS 공격 실습 admin admin은 정상 게시물처럼 등록되어 있는 글을 읽는다.

20 XSS 공격 실습 admin 아무런 오류 메시지가 나타나지 않는다.

21 XSS 공격 실습 여진짱 admin으로부터 획득한 쿠키 값.
획득한 쿠키 값을 이용하기 위해 앞 단계에서 getcookie.asp 파일을 업로드한 경로에 접근. 업로드 경로와 같은 경로에 getcookie.txt 파일이 생성. 여진짱 admin으로부터 획득한 쿠키 값.

22 XSS 공격 실습 여진짱 복사된 쿠키 값을 이용하기 위해 cooxie toolbar를 사용.
공격자 PC는 admin의 쿠키 값을 가지고 있는 상태

23 XSS 공격 실습 여진짱 현재 쿠키 값을 설정한 인터넷 익스플로러의 주소 창에서 주소를 입력.

24 XSS 공격 실습 여진짱 쿠키값 설정을 통하여 로그인을 하지 않고 admin권한으로 게시판 리스트를 볼 수 있다.

25 대응 방법 <프로그래머, 관리자입장>

26 대응 방법 <ASP> <PHP> <JSP> 1. HTML을 지원하지 않도록 한다.
server.htmlencode (content) <PHP> htmlentitles() <JSP> content = content.replaceAll(“<”, “<”); content = content.replaceAll(“>”, “>”);

27 대응 방법 content = replace(content,"<p>","<p>")
2-1. HTML을 White List 방식으로 허용 - ASP content = replace(content,"<p>","<p>") content = replace(content,"<P>","<P>") content = replace(content,"<br>","<br>") content = replace(content,"<BR>","<BR>") 화이트 리스트를 간단하게 설명하자면 모든 것을 다 막은 상태에서 취약점이 없을 만한 일부 부분만을 리스트에 넣어 자율성을 주는 것

28 대응 방법 Contents부분에 “<”는 <로, “>”는 >로 변경되도록 소스코드를 입력.
스크립트 코드를 입력 시 글로 보이게 된다. 글을 쓸 때, 제목과 내용 부분에서 스크립트 방지 소스 입력

29 대응 방법 $content = str_replace("<p>","<p>",$content);
2-2. HTML을 White List 방식으로 허용 - PHP $content = str_replace("<p>","<p>",$content); $content = str_replace("<P>","<P>",$content); $content = str_replace("<br>","<br>",$content); $content = str_replace("<BR>","<BR>",$content);

30 대응 방법 content = content.replaceAll("<p>","<p>");
2-3. HTML을 White List 방식으로 허용 - JSP content = content.replaceAll("<p>","<p>"); content = content.replaceAll("<P>","<P>"); content = content.replaceAll("<br>","<br>"); content = content.replaceAll("<BR>","<BR>");

31 대응 방법 <사용자 입장>

32 대응 방법 1. 웹 브라우저의 개인 정보 등급을 상향 조절해서, 불필요한 쿠키 값을 전송하지 않도록 설정.
개인 정보 등급을 상향 조절하여 불필요한 쿠키 값을 전송하지 않도록 한다. 단, 보안설정을 가장 높게 하면 쿠키 값이 필요한 사이트에 서비스를 사용 할 수 없으므로, 보통~약간 높음을 권장한다.

33 대응 방법 2. 팝업 차단 사용. 팝업창을 띄우지 않게 웹 브라우저에서 차단을 하게 되면,
XSS 스크립팅 공격을 막을 수 있다.

34 대응 방법 3. 인터넷 익스플로러의 최신 패치를 적용하여 인터넷 익스플로러 자체의 취약점으로 인한 공격에 미리 대응.

35 출 처 http://zrungee.tistory.com/197
출 처 보안입문 – 웹 해킹과 침해사고 분석

36 Q & A

37 Thanks


Download ppt "XSS 10111020 정 여 진."

Similar presentations


Ads by Google