wfuzz
wfuzz (github.com/xmendez/wfuzz) is a command-line web application fuzzer — conceptually the CLI counterpart of Burp Suite’s Intruder, but much faster, as one expects from a dedicated CLI tool. Its core idea is simple: any occurrence of the keyword FUZZ in a request is replaced by each element of a payload, and a payload is just a source of data (wordlist file, range, list, etc.). Because FUZZ can appear anywhere — URL paths, parameters, headers, POST bodies, authentication fields — it can fuzz any part of an HTTP request.
Basic usage
wfuzz -z file,rockyou.txt \
https://example.com/FUZZ/img/secret.webpKey options:
-c— color output-z file,<wordlist>— payload: replaceFUZZwith entries from a wordlist--hc 404— hide responses with a given status code (e.g. suppress 404 noise in directory brute-forcing)FUZZ,FUZ2Z,FUZ3Z, … — multiple injection slots; each maps to a corresponding-zpayload in order
See wfuzz --help and the full documentation for filters (--hc/--hl/--hw/--hh hide by code/lines/words/chars), encoders, iterators, and scripting.
Relationship to other tools
- gobuster — Go-based directory/DNS/vhost brute-forcer; faster for pure enumeration, narrower than wfuzz’s general request fuzzing
- ffuf — Go-based successor with the same
FUZZkeyword model; the modern default CLI fuzzer - turbo-intruder — Burp-based, Python-scripted, optimized for extreme request rates and race conditions
- Burp Intruder — GUI-driven; slower than wfuzz but tightly integrated with the Burp workflow (burp-suite-firefox)
- owasp-zap — open-source proxy with its own fuzzer
Payloads often need encoding first — see url-encode-file-python for mass URL-encoding wordlists.