Web Application
FFUF (Fuzz Faster U Fool) is an extremely fast, open-source web fuzzer written in the Go programming language. Penetration testers and bug bounty hunters use the FFUF tool for directory brute forcing, file discovery, parameter fuzzing, virtual host discovery, and REST API fuzzing by injecting wordlist entries into any part of an HTTP request using the FUZZ keyword.
sudo apt install ffuf
ffuf -w <wordlist> -u <url/FUZZ>
FFUF (short for Fuzz Faster U Fool) is an extremely fast web fuzzer written in the Go programming language. The FFUF tool uses the FUZZ keyword placeholder to inject wordlist entries into any part of an HTTP request — including the URL path, query parameters, HTTP headers, cookies, and POST data — to discover hidden content that is not linked anywhere on a website.
Because Go compiles to native code and handles concurrency efficiently, FFUF can send tens of thousands of requests per second, which is why it is widely described as one of the fastest web fuzzers available. It was created in 2019 by security researcher Joel Henrikkson and is released as free, open-source software under the permissive MIT License.
The FFUF tool supports advanced response filtering by HTTP status code, response size, word count, line count, and regular expression patterns. This combination of raw speed and precise filtering makes FFUF the go-to choice for directory brute forcing, hidden file discovery, REST API endpoint enumeration, virtual host discovery, and parameter fuzzing during penetration testing and bug bounty reconnaissance.
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://192.168.1.1/FUZZDirectory fuzzing - Perform fast directory discovery mapping input over the FUZZ keyword positionffuf -w wordlist.txt -u http://192.168.1.1/FUZZ -e .php,.htmlFuzz with extensions - Discover distinct application files by appending targeted file format extensionsffuf -w wordlist.txt -u http://192.168.1.1 -H "Host: FUZZ.target.com"Virtual host discovery - Enumerate valid subdomains sitting behind a single reverse proxy or gateway IPffuf -w wordlist.txt -u http://192.168.1.1/api?param=FUZZParameter fuzzing - Enumerate hidden variables or parameters within active application APIsffuf -w wordlist.txt -u http://192.168.1.1/FUZZ -mc 200,301,302Filter by status codes - Isolate and print responses matching specific HTTP status code flagsffuf -w /usr/share/wordlists/dirb/common.txt -u http://target/FUZZDirectory fuzzingffuf -w wordlist.txt -u http://target/FUZZ -e .php,.htmlFuzz with extensionsffuf -w wordlist.txt -u http://target -H "Host: FUZZ.target.com"Virtual host discoveryffuf -w wordlist.txt -u http://target/api?param=FUZZParameter fuzzingffuf -w wordlist.txt -u http://target/FUZZ -mc 200,301,302Filter by status codesffuf -w wordlist.txt -u http://target/FUZZ -fs 4242Filter size — hide responses of a fixed byte size to cut noiseffuf -w wordlist.txt -u http://target/FUZZ -recursion -recursion-depth 2Recursion — automatically fuzz inside discovered directoriesffuf -w wordlist.txt -u http://target/FUZZ -o out.json -of jsonOutput — save machine-readable JSON resultsffuf -w wordlist.txt -u https://target/FUZZ -t 100 -rate 200Speed — set thread count and cap requests per secondffuf -w u.txt:UW -w p.txt:PW -u http://target/login -d 'user=UW&pass=PW' -X POSTClustered — brute-force credential pairs with named wordlistsDiscover hidden directories and folders by fuzzing URL paths with wordlists — the core of directory brute forcing.
Find backup files, config files, and forgotten pages by appending extensions like .php, .bak, .zip, and .txt.
Enumerate hidden REST API endpoints, versioned routes (/v1, /v2), and undocumented actions on JSON APIs.
Enumerate hidden GET and POST parameters by injecting payloads into query strings and request bodies.
Find virtual hosts and hidden subdomains behind one IP by fuzzing the HTTP Host header.
Rapidly map the attack surface of a target during bug bounty reconnaissance to find admin panels and endpoints.
FFUF is used for directory brute forcing, hidden file discovery, parameter fuzzing, virtual host discovery, and REST API endpoint enumeration. Security professionals and bug bounty hunters use it to quickly map a target's hidden attack surface.
Yes, FFUF is generally faster than Gobuster because it is written in Go with highly optimized concurrency. FFUF can routinely achieve 10,000+ requests per second, while Gobuster is also fast but FFUF's filtering engine gives it an edge in precision.
Run 'sudo apt update && sudo apt install ffuf' to install FFUF from the default Kali repositories. FFUF is often pre-installed on Kali Linux; if not, the APT command handles everything automatically.
Yes, FFUF is excellent for REST API fuzzing. Place the FUZZ keyword after your API base path (e.g., 'http://target/api/FUZZ') and match on 200, 401, and 403 status codes to discover undocumented endpoints, versioned routes, and hidden parameters.
The FUZZ keyword is a special placeholder you put anywhere in the HTTP request where you want wordlist entries injected. FFUF replaces FUZZ with each line of your wordlist, allowing you to fuzz URL paths, query parameters, HTTP headers, cookies, and POST data.
Yes, FFUF is 100% free and open source under the MIT License. You can download, use, inspect, and modify it at no cost from the official GitHub repository at github.com/ffuf/ffuf.
Web Application
Simpler Go-based directory brute forcer with dedicated dir, dns, and vhost modes.
Web Application
Fast Rust-based content-discovery tool built around automatic recursive scanning.
Web Application
Flexible Python fuzzer with strong payload processing and encoding.
Information Gathering
Fast HTTP probe for validating and fingerprinting discovered hosts and endpoints.
Information Gathering
Web technology fingerprinter that identifies frameworks, CMSs, and servers.
Web Application
Web server scanner for misconfigurations, outdated software, and dangerous files.
Information Gathering
Network scanner for discovering open web ports and services before fuzzing.
Information Gathering
Fast passive subdomain enumeration tool for mapping a target's domains.
Information Gathering
In-depth attack-surface mapping and subdomain enumeration framework.
The console prints each successful match, detailing the full path, HTTP status code, response size, and line count. Distinctive colors help separate successful finds from noise.
This tool is designed for authorized security testing, educational purposes, and legitimate network administration only. Unauthorized access to computer systems is illegal.