반응형
SMALL

1. Reflected XSS 공격 Medium 단계 실습

 

[그림 1-1] 공격 스크립트 삽입

Reflected XSS 공격을 시도 하기 위해 공격 스크립트를 삽입 요청을 보낸다.

 

[그림 1-2] 실행 결과

공격 스크립트 삽입 실행 결과 Low 레벨과는 다르게 XSS 공격 경고창이 나타나지 않는다는 것을 있다.

 

[그림 1-3] 소스 코드

Medium 레벨의 소스 코드를 보면 str_replace 함수로 <script> 문자열을 제거한다. 폼에 XSS 공격 스크립트를 삽입하고 요청을 보낼 <script> 문자열을 제거한 응답값이 오는 것이다. str_replace 함수는 대소문자를 구분하는 반면 HTML 대소문자를 구분하지 않는다.

 

[그림 1-4] 공격 스크립트 삽입

HTML 대소문자를 구분하지 않는다는 취약점을 이용해 <SCRIPT>alert(1)</SCRIPT> 공격 스크립트를 입력한 요청을 보낸다.

 

[그림 1-5] 공격 성공

<SCRIPT>alert(1)</SCRIPT> 공격 스크립트를 입력한 요청을 보낸 결과 우회되서 공격이 성공했다는 있다. XSS 공격을 방어하기 위해선 HTML 대소문자 구분 함수 구현도 필요하다.

 

2. Reflected XSS 공격 High 단계 실습

 

[그림 2-1] 공격 스크립트 삽입

Reflected XSS 공격을 시도 하기 위해 공격 스크립트를 삽입 요청을 보낸다.

 

[그림 2-2] 실행 결과

공격 스크립트 삽입 실행 결과 XSS 공격 경고창이 나타나지 않는다는 것을 있다. 결과 값만 봐도 문자열이 필터링 되었음을 있다.

 

[그림 2-3] 소스 코드

PHP의 preg_replace 함수를 이용해 <*s*c*r*i*p*t 규칙에 해당하는 문자열을 대소문자 구분하지 않고 제거한다. "<script", "<SCRIPT", "<SC\RIPT", "</script", "</SCRIPT", "</SC/**/RIPT" 등의 문자열을 제거하기 때문에 <script>를 이용해 자바스크립트를 삽입할 수 있는 방법은 없다.

 

[그림 2-4] 공격 스크립트 삽입

<script> 문자열을 없어 <img src=x onerror=alert(document.cookie)>라는 다른 XSS 공격 스크립트를 삽입한다. <img XSS 공격 스크립트 구문으로 많이 쓰이는 문자열 하나다.

 

[그림 2-5] 공격 성공

<img src=x onerror=alert(document.cookie)> XSS 공격 스크립트 요청 결과 우회되서 공격이 성공했음을 있다. <script> 뿐만 아니라 다른 문자열도 필터링 해줄 있는 시큐어코딩이 필요하다.

반응형
LIST

'웹해킹 > DVWA' 카테고리의 다른 글

브루트 포스 공격 대응 방안  (0) 2020.01.26
브루트 포스 공격  (0) 2020.01.26
Reflected XSS 공격 (1)  (0) 2020.01.21
Stored XSS 공격  (0) 2020.01.21
CSRF 공격 (2)  (0) 2020.01.12
블로그 이미지

만년필석사

,