Pentest Web với Wfuzz
Bài đăng này đã không được cập nhật trong 4 năm
Pentest Web là quá trình kiểm thử một trang web có an toàn hay không. Để thực hiện pentest ta cần có kiến thức về các lỗ hổng, một bộ não vừa phải cũng như các công cụ cần thiết. Với trình độ của một sờ-cờ-ríp-kít-bát-tồ (gọi vui của: script kiddie + battle) thì việc biết và sử dụng công vụ là điều quan trọng. Sử dụng công cụ gì vào công đoạn nào cũng như dùng như thế nào cho đúng cách sẽ giúp công cuộc bát-tồ trở nên dễ thở hơn. Nhưng không phải cứ có công cụ xịn là ta sẽ thắng trong mọi cuộc chơi. Ví như mình đi đánh nhau được anh chỉ huy cho khẩu tiểu liên còn thằng địch nó chỉ có phi tiêu nhưng với trình độ của Uchiha Itachi.
Sau màn giới thiệu đầy màu mè thì bây giờ đi vào nội dung chính của bài chia sẻ: Sử dụng Wfuzz cho pentest web.
Wfuzz là gì?
Theo như mô tả từ trang chủ:
Wfuzz provides a framework to automate web applications security assessments and could help you to secure your web applications by finding and exploiting web application vulnerabilities.
Hiểu đơn giản Wfuzz là một công cụ giúp ta kiểm thử ứng dụng web.
Cài đặt Wfuzz
Wfuzz được tích hợp sẵn cùng với Kali. Nếu bản kali, ubuntu nào chưa có thì cài đặt theo hướng dẫn bên dưới.
sudo apt update -y
sudo apt install wfuzz -y
Hiện tại máy kali của mình đã được cài wfuzz
Sử dụng Wfuzz
Thao tác thường dùng
Tìm URI
wfuzz -c -w wordlist/dict.txt -u http://target.domain/FUZZ --sc 200
Tìm các file ẩn
wfuzz -c -w wordlist/dict.txt -u http://target.domain/FUZZ.php --sc 200
Tìm param
wfuzz -c -w wordlist/dict.txt -u http://target.domain/get.php?FUZZ=test --sc 200
Giải thích:
-c
: Hiển thị kết quả màu mè-w
: chỉ định từ điển (word list)--sc
: Chỉ hiển thị HTTP status code 200. Nếu có nhiều thì:--sc 200,301,...
Fuzzing POST request
Wfuzz có thể được dùng trong việc fuzzing POST request. Tùy từng trường hợp mà sử dụng cho hợp lý.
wfuzz -c -w wordlist/dict.txt -d "uname=FUZZ&pass=FUZZ" --hc 302 -u http://target.domain/userinfo.php
Fuzzing Basic Authentication
Sử dụng wfuzz tấn công basic authen
wfuzz -c -w wordlist/dict.txt --basic FUZZ:FUZZ -u http://target.domain/admin.php --sc 200
Wfuzz kết hợp với proxy
Wfuzz hỗ trợ proxy để tiện cho việc phân tích requests.
wfuzz -c -w wordlist/dict.txt -u http://target.domain/FUZZ.php --sc 200 -p localhost:8080:HTTP
Sử dụng nhiều proxy
wfuzz -c -w wordlist/dict.txt -u http://target.domain/FUZZ.php --sc 200 -p localhost:8080:HTTP -p localhost:2222:HTTP
Ngoài HTTP proxy, Wfuzz còn hỗ trợ proxy: SOCKS4 ,SOCKS5
Để sử dụng chỉ việc thay HTTP bằng SOCKS4 ,SOCKS5 tương ứng.
Fuzzing HTTP header
Để fuzzing HTTP header ta sử dụng tham số -H
wfuzz -c -w wordlist/dict.txt -u http://target.domain/admin.php -H "User-Agent: FUZZ" -H "Other-Header: Value"
Muốn sửa nhiều HTTP header thì ta sử dụng nhiều tham số -H
Sử dụng nhiều param fuzzing
Wfuzz cho phép ta sử dụng nhiều param từ các word list khác nhau. Wfuzz cho phép ta sử dụng nhiều param từ các word list khác nhau. Để làm việc này ta sử dụng: FUZZ, FUZ2Z, FUZ3Z,...
wfuzz -c -z file,wordlist/param.txt -z file,wordlist/value.txt -u http://target.domain/get.php?FUZZ=FUZ2Z --sc 200
chú ý: FUZZ=FUZ2Z
Đây cũng là phần cuối của bài chia sẻ. Cảm ơn đã đọc đến phần này!
Tham khảo
Để biết thêm nhiều thông tin cũng như cách dùng khác đọc thêm tại: https://wfuzz.readthedocs.io/
All rights reserved