1. Python library
Thư viện Python của Wfuzz cho phép tự động hóa các tác vụ và tích hợp Wfuzz vào các công cụ hoặc tập lệnh mới.
1.1. Lựa chọn thư viện
Tất cả các tùy chọn có sẵn trong giao diện dịng lệnh Wfuzz đều có sẵn dưới dạng tùy chọn thư viện:
63
Hình 126. Thư viện tùy chọn
Các tùy chọn này có thể được sử dụng trong các giao diện thư viện chính: fuzz, payload hoặc session một cách rõ ràng.
1.2. Fuzzing một URL
Fuzzing một URL với thư viện wfuzz rất đơn giản. Đầu tiên, import môđun wfuzz:
64
Bây giờ, chúng ta hãy thử fuzz một trang web để tìm nội dung ẩn, chẳng hạn như thư mục. Đối với ví dụ này sử dụng Acunetix’s testphp (http://testphp.vulnweb.com/):
Hình 128. testphp
Bây giờ, chúng ta có một đối tượng FuzzResult được gọi là r. Chúng ta có thể nhận được tất cả thơng tin chúng ta cần từ đối tượng này.
1.3. Đối tượng FuzzSession
Một đối tượng FuzzSession có tất cả các phương thức của API wfuzz chính
Đối tượng FuzzSession cho phép bạn duy trì các thơng số nhất định trong các phiên fuzzing:
Hình 129. Duy trì thơng số trong các phiên fuzzing
ContextFuzzSession cũng có thể được sử dụng làm trình quản lý context:
65
Hình 130. Duy trì thơng số trong các phiên fuzzing
1.4. Get Payload
Hàm get_payload tạo ra một payload Wfuzz từ một tệp có thể lặp lại trong Python. Đó là một cách nhanh chóng và linh hoạt để payload theo lập trình mà khơng cần sử dụng các plugin payload Wfuzz.
Việc tạo một payload mới và bắt đầu chạy thực sự đơn giản như sau:
Hình 131. Tạo 1 payload và chạy
Phương thức get_payloads có thể được sử dụng khi cần nhiều payload khác nhau:
66
1.5. Get Session
Hàm get_session tạo một đối tượng phiên Wfuzz từ dịng lệnh được chỉ định. Đó là một cách nhanh chóng nhận payload theo chương trình từ một chuỗi đại diện cho các tùy chọn CLI:
Hình 133. Sử dụng phương thức get_payloads khi cần nhiều payload khác nhau
1.6. Tương tác với kết quả
Sau khi có kết quả của wfuzz có thể làm việc với kết quả đó trong ngơn ngữ với syntax như sau:
Hình 134. Làm việc với kết quả đó trong ngơn ngữ với syntax
Đối tượng kết quả cũng có một phương thức để đánh giá một biểu thức ngơn ngữ:
67
Hình 135. Phương thức để đánh giá biểu thức ngôn ngữ