II. Hướng dẫn sử dụng
1. Bắt đầu:
2.6. Fuzzing HTTP Verbs
33
Hình 55. Chỉ đinh HTTP verbs fuzzing sử dụng tùy chọn -X
Nếu bạn muốn thực hiện các yêu cầu bằng một động từ cụ thể, bạn cũng có thể sử dụng “-X HEAD”.
2.7. Proxies
Nếu bạn cần sử dụng proxy, chỉ cần sử dụng tham số -p:
Hình 56. Chỉ đinh HTTP verbs fuzzing sử dụng tùy chọn -X
Ngoài các proxy HTTP cơ bản, Wfuzz cũng hỗ trợ các proxy sử dụng giao thức SOCKS4 và SOCKS5:
Hình 57. Proxy sử dụng giao thức SOCKS4 và SOCKS5
Nhiều proxy có thể được sử dụng đồng thời bằng cách cung cấp các tham số -p khác nhau:
34
Hình 58. Proxy được sử dụng đồng thời bằng cách cung cấp tham số -p khác nhau
Mỗi lần yêu cầu sẽ được thực hiện bằng một proxy khác nhau.
2.8. Authentication
Wfuzz có thể đặt tiêu đề xác thực bằng cách sử dụng các tùy chọn dòng lệnh –basic / ntlm / dig.
Ví dụ: một tài nguyên được bảo vệ bằng cách sử dụng xác thực cơ bản có thể được fuzz bằng cách sử dụng lệnh sau:
Hình 59. Sử dụng xác thực cơ bản được fuzz để bảo về tài nguyên
Nếu bạn muốn đánh dấu tài nguyên từ một trang web được bảo vệ, bạn cũng có thể sử dụng “–basic user: pass”.
2.9. Đệ quy (Recursion)
Tùy chọn -R có thể được sử dụng để chỉ định độ sâu của đệ quy payload. Ví dụ: nếu bạn muốn tìm kiếm các thư mục và sau đó fuzz trong các thư mục này một lần nữa bằng cách sử dụng cùng một payload, bạn có thể sử dụng lệnh sau:
35
Hình 60. Tìm kiếm các thư mục và sau đó fuzz trong các thư mục này một lần nữa bằng cách sử dụng cùng một payload
2.10. Perfomance
Một số tùy chọn cho phép bạn tinh chỉnh công cụ request HTTP, tùy thuộc vào tác động hiệu suất trên ứng dụng và sức mạnh xử lý và băng thơng của riêng bạn.
Bạn có thể tăng hoặc giảm số lượng yêu cầu đồng thời để làm cho cuộc tấn công của bạn tiến hành nhanh hơn hoặc chậm hơn bằng cách bằng cách sử dụng tùy chọn –t.
Bạn có thể yêu cầu Wfuzz dừng một số giây nhất định trước khi thực hiện một yêu cầu khác bằng cách sử dụng tham số -s.
2.11. Ghi vào một tệp
Wfuzz hỗ trợ ghi kết quả vào một tệp ở định dạng khác. Điều này được thực hiện bởi các plugin được gọi là "printers". Các printers có sẵn có thể được liệt kê đang thực thi:
36
Ví dụ: để ghi kết quả vào tệp đầu ra ở định dạng JSON, hãy sử dụng lệnh sau:
Hình 62. Ghi kết quả vào tệp đầu ra ở định dạng JSON
2.12. Đầu ra khác nhau
Wfuzz hỗ trợ hiển thị kết quả ở nhiều định dạng khác nhau. Điều này được thực hiện bởi các plugin được gọi là "printers". Có sẵn printers có thể được liệt kê đang thực thi:
Hình 63. Thực thi các printer có sẵn
Ví dụ: để ghi kết quả vào tệp đầu ra ở định dạng JSON, hãy sử dụng lệnh sau:
Hình 64. Ghi kết quả vào tệp đầu ra ở định dạng JSON
Khi sử dụng đầu ra mặc định hoặc đầu ra thơ, bạn cũng có thể chọn các trường bổ sung của FuzzResult để hiển thị, sử dụng - -efield cùng nhau với mơ tả payload:
Hình 65. Ghi kết quả vào tệp đầu ra ở định dạng JSON
Ví dụ, lệnh trên rất hữu ích để gỡ lỗi yêu cầu HTTP chính xác nào mà Wfuzz đã gửi đến máy chủ Web từ xa. Để thay thế hoàn tồn đầu ra payload mặc định, bạn có thể sử dụng –field để thay thế:
37
Hình 66. Thay thế hồn tồn đầu ra payload mặc định sử dụng –field
–Efield và –field có thể được lặp lại để hiển thị một số trường:
Hình 67. –Efield và –field có thể được lặp lại để hiển thị một số trường
Printer field có thể được sử dụng với biểu thức –efield hoặc –field để chỉ liệt kê các biểu thức bộ lọc được chỉ định mà khơng có header hoặc footer:
Hình 68. Liệt kê các biểu thức bộ lọc được chỉ định
Lệnh trên rất hữu ích, chẳng hạn, để chuyển wfuzz vào các công cụ khác hoặc thực hiện các tập lệnh bảng điều khiển.
–Efield và –field trên thực tế là các biểu thức lọc. Kiểm tra phần ngôn ngữ bộ lọc trong tài liệu sử dụng trước cho các trường và tốn tử có sẵn.
3. Cách sử dụng nâng cao