**Made by NEPAX - Thanks to COFFIN
This Bash script serves as a menu-driven wrapper for ffuf, streamlining various web fuzzing techniques into one easy-to-use tool. It automatically checks for ffuf installation, installs it if necessary, and then provides a range of fuzzing options to suit your testing needs.
-
Automatic ffuf Installation:
Checks ifffufis installed. If not, it installs the latest version using Go. -
Comprehensive Fuzzing Options:
Offers 21 different fuzzing modes, including:- Directory/File Brute Force
- POST Request Fuzzing
- Case Insensitive Search
- File Extension Fuzzing
- Recursive Fuzzing
- Subdomain Fuzzing
- Virtual Host Fuzzing
- Fuzzing GET and POST Parameters
- Login Bypass Fuzzing
- PUT Request Fuzzing
- Clusterbomb and Pitchfork Attacks
- Setting Cookies, Using Proxies, Custom Header Fuzzing, Custom User-Agent Fuzzing, Rate Limiting Bypass
- Output results in HTML, JSON, or CSV formats
- Bash: The script is written in Bash.
- Go: Needed for installing
ffufif it is not already present. - ffuf: Fuzz Faster U Fool (the script will auto-install it if missing).
- Wordlists: Custom wordlists for directories, files, usernames, passwords, etc., based on your testing requirements.
-
Clone or Download the Repository:
git clone https://github.com/nischalbijukchhe/fuzzking.git cd fuzzking -
Make the Script Executable:
chmod +x fuzzking.sh
-
Ensure Go is Installed:
Verify that Go is installed on your system as it is required for installingffuf.
Download Go
Run the script from your terminal:
./fuzzking.sh-
Initial Check:
The script will check ifffufis installed. If not, it will install it and update your PATH accordingly. -
Interactive Menu:
A menu displaying 21 fuzzing options will be shown. Each option represents a different fuzzing mode, from simple directory brute forcing to complex attack modes like clusterbomb and pitchfork. -
User Prompts:
You will be prompted to enter:- A number corresponding to the desired fuzzing option.
- The target domain (e.g.,
https://example.com). - The path to your main wordlist.
- Additional inputs for options such as username/password wordlists, cookies, or proxy settings.
- Your choice of HTTP status codes to match during fuzzing.
-
Execution:
The script constructs and runs the appropriateffufcommand based on your selections.
- Directory/File Brute Force:
Scans for hidden directories or files. - POST Request Fuzzing:
Fuzzes endpoints using POST requests. - Case Insensitive Search:
Performs a case insensitive search. - File Extension Fuzzing:
Tries common file extensions (e.g.,.php,.bak,.db,.asp). - Recursive Fuzzing:
Automatically recurses into discovered directories. - Subdomain Fuzzing:
Discovers subdomains by fuzzing the URL. - Virtual Host Fuzzing:
Tests virtual host configurations. - Fuzzing GET Parameters:
Fuzzes query parameters in GET requests. - Fuzzing POST Parameters:
Fuzzes data fields in POST requests. - Login Bypass Fuzzing:
Attempts login bypass using provided username and password wordlists. - PUT Request Fuzzing:
Fuzzes endpoints with PUT requests using cookie-based authentication. - Clusterbomb Attack:
Combines multiple wordlists to perform a clusterbomb attack. - Pitchfork Attack:
Utilizes parallel wordlists for a pitchfork attack. - Setting Cookies:
Uses custom cookies during fuzzing. - Using Proxies:
Routes requests through a proxy server. - Custom Header Fuzzing:
Injects custom HTTP headers into requests. - Fuzzing with Custom User-Agent:
Fuzzes with a specified User-Agent string. - Rate Limiting Bypass:
Adjusts rate and concurrency to bypass rate limiting. - Output to HTML:
Saves results in HTML format. - Output to JSON:
Saves results in JSON format. - Output to CSV:
Saves results in CSV format.
- Adjust Base Parameters:
The script uses base flags (e.g.,-t 50for threading). You can modify these settings directly in the script to suit your testing environment.
- NEPAX: Author of the script.
- LOSTSEC: Special thanks for inspiration and amazing article you can find on his MEDIUM.
This tool is intended solely for authorized security testing and research purposes. Unauthorized testing or scanning of networks or systems without explicit permission is illegal and unethical. Use responsibly and at your own risk.
This project is licensed under the MIT License.