Thiết kế dữ liệu Fuzzing

Một phần của tài liệu Xây dựng hệ thống kiểm thử bảo mật website dựa trên kỹ thuật fuzzing (Trang 52 - 55)

II. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

4.4.2.Thiết kế dữ liệu Fuzzing

4. Phân tích và thiết kế chi tiết

4.4.2.Thiết kế dữ liệu Fuzzing

Hình : Thiết kế bộ dữ liệu fuzzing

Với các scanner thông thường như wapiti, nikto... sẽ chỉ lưu dữ liệu fuzzing dưới dạng text thông thường dẫn đến tính trạng các fuzzing mà ngay từ khởi tạo các fuzzing request đã biết rằng kết quả trả về là không có ý nghĩa. Cụ thể do với mỗi nền tảng sẽ có những cách phát hiện và khai thác các lỗ hổng riêng biêt.

Trong phần này tôi đề xuất thiết kế bộ dữ liệu fuzzing dưới dạng xml. Cụ thể, trong mỗi bản ghi (chính là dữ liệu trong thẻ fuzz) của dữ liệu fuzzing sẽ chứa các giá trị liên quan tới nền tảng mà nên dùng loại dữ liệu đó. Khi đó, thực hiện với các dữ liệu fuzzing chúng ta sẽ chỉ lấy ra các dữ liệu fuzzing phù hợp với các nền tảng đã phát hiện được. Điều này giúp giảm đáng kể số lượng các fuzzing request cần gửi tới hệ thống.

Hình : Module Fuzzing – Biểu đồ lớp

Lớp Attack

Kế thừa

Thuộc tính

Name Tên của loại lỗ hổng.

Payload Các dữ liệu fuzzing tương ứng với loại lỗ hổng cần phát hiện.

Result Giá trị kết quả thu được của quá trình fuzzing.

Urls Các giá trị url thu được sau quá tình collector.

Phương thức

Attack() Là phương thức chính được gọi đến khi thực hiện fuzzing hệ thống.

AttackGET() Phương thức attack hệ thống qua việc gửi url.

AttackPOST() Phương thức attack hệ thống qua việc gửi các dữ liệu POST.

Lớp Mod_attack (attack – xss, sqli, ..)

Kế thừa Kế thừa từ lớp attack

Thuộc tính

Name Tên của loại lỗ hổng.

Payload Các dữ liệu fuzzing tương ứng với loại lỗ hổng cần phát hiện.

Result Giá trị kết quả thu được của quá trình fuzzing.

Urls Các giá trị url thu được sau quá tình collector.

Forms Là giá trị thu được sau quá trinh collector.

Phương thức

Attack() Là phương thức chính được gọi đến khi thực hiện fuzzing hệ thống.

AttackGET() Phương thức attack hệ thống qua việc gửi url.

AttackPOST() Phương thức attack hệ thống qua việc gửi các dữ liệu POST.

Một phần của tài liệu Xây dựng hệ thống kiểm thử bảo mật website dựa trên kỹ thuật fuzzing (Trang 52 - 55)