About this project

ffuf (Fuzz Faster U Fool) is a web fuzzing tool written in Go. It uses a FUZZ keyword placeholder in URLs, headers, or POST data to define injection points for wordlist-based testing. Key capabilities include: - Content and directory discovery via wordlists - Virtual host discovery without DNS records by fuzzing the Host header - GET and POST parameter fuzzing, including JSON data - Multiple input modes: wordlist files, external commands (e.g., mutators like Radamsa), and raw HTTP request files - Multi-wordlist operation modes: clusterbomb, pitchfork, and sniper - Recursive scanning with configurable depth and strategies (redirect-based or greedy) - Filtering and matching by HTTP status code, response size, word count, line count, regexp, and time to first byte - Automatic calibration of filtering options - Configuration via default ffufrc files or custom config files - Output to JSON, HTML, CSV, Markdown, and other formats - Interactive mode for pausing scans, reconfiguring filters, managing job queues, and saving results - Rate limiting, concurrency control, and execution time limits - HTTP/2 support, proxy support (HTTP and SOCKS5), and client certificate authentication Installation is available through prebuilt binaries, Homebrew, Scoop, Winget, or Go install. The tool requires Go 1.20 or greater for building from source.