loading
loading
Fuzzing
Fastest recursive HTTP fuzzer, like a Ferrari.
overview
medusa fuzzes a target over HTTP by walking a directory wordlist against a URL and reading back the status of each request. It is built for content discovery: pointed at a host with a wordlist, it surfaces the directories and files that are present but not linked anywhere on the site. The engine is tuned for speed, so it covers a large wordlist quickly while you keep the request rate under control.
Its signature feature is recursion. Turn on recursive fuzzing and medusa descends into every directory it finds and fuzzes inside it, mapping a deep tree from a single seed URL without you re-running the tool per level. Positive and negative status-code filters decide which responses count as hits, and a forced schema lets you fuzz hosts supplied without a scheme.
On Trickest, medusa is a Fuzzing node that takes a target URL and a directory wordlist and writes a folder and a file of results. Run it after a prober confirms a host is live, then pass the discovered paths to a crawler or scanner so the next stage works from real, reachable content.
source github.com/riza/medusa
use cases
Fuzz a live host with a content wordlist to surface admin panels, backups, and endpoints that are not linked from any page.
Enable recursive fuzzing so medusa descends into each directory it finds and fuzzes inside it, building a full tree from a single seed URL.
Feed a URL list so one wordlist runs against every target in the same job, then collect all discovered paths in one output.
Set positive or negative status codes to keep only the responses that matter, cutting redirect and not-found noise out of the results.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | -u | Single target URL to fuzz. |
| url-list | FILE | -uL | File of target URLs, one per line, to fuzz many hosts in one run. |
| wordlist | FILE | -w | Directory wordlist file, one entry per line. |
| recursive | BOOLEAN | -r | Enable recursive fuzzing into discovered directories. |
| extension | STRING | -e | Extension appended to each wordlist entry. |
| positive-status-codes | STRING | -cP | Status codes to keep as hits, separated by commas. |
| negative-status-codes | STRING | -cN | Status codes to drop, separated by commas. |
| concurrent | STRING | -conc | Maximum concurrent requests. |
Showing key inputs. medusa exposes 13 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| cpu | STRING | -cpus | Number of CPU cores to use. |
| url | STRING | -u | Single target URL to fuzz. |
| schema | STRING | -s | Force the scheme; defaults to http when the URL has none. |
| timeout | STRING | -t | HTTP response timeout in seconds (default 10s). |
| url-list | FILE | -uL | URL list file path, one target per line. |
| wordlist | FILE | -w | Directory wordlist file, one entry per line. |
| extension | STRING | -e | Extension appended to each wordlist entry. |
| recursive | BOOLEAN | -r | Enable recursive fuzzing into discovered directories. |
| bypass-ssl | BOOLEAN | -x | Bypass SSL certificate verification. |
| concurrent | STRING | -conc | Maximum number of concurrent requests. |
| user-agent | STRING | -ua | User-Agent header value to send. |
| negative-status-codes | STRING | -cN | Negative status codes to drop, separated by commas. |
| positive-status-codes | STRING | -cP | Positive status codes to keep as hits, separated by commas. |
example
# recursive content discovery against a live hostmedusa -u https://example.com -w /wordlists/directory-list.txt -r -e php -cP 200,204,301,302,403medusa v0.2.1 by rizasabuncu-----------------------------------------[*] URL/List: https://example.com[*] Recursive fuzz: true-----------------------------------------[200] https://example.com/admin - 4821[301] https://example.com/backup - 0[403] https://example.com/.git/ - 162[200] https://example.com/admin/config.php - 2044[+] Total time: 3.417sguidance
Reach for medusa when you want fast, recursive directory discovery against a host you already know is live. Recursion maps a deep tree from one seed without re-running per level. For a richer FUZZ engine with parameter and vhost modes, use ffuf; for a flexible payload framework, use wfuzz.
General FUZZ engine with parameter and vhost modes plus response filtering. medusa is leaner and recursion-first.
Flexible fuzzing framework with many payload sources. medusa trades that breadth for raw recursive speed.
Directory and file brute forcing built for extreme scale across many hosts at once.
faq
related
Website directory and file brute forcing at extreme scale.
A fast web fuzzer written in Go.
A fast web fuzzer written in Go, wired to run across a list of target URLs.
A fast web fuzzer written in Go, run across a URL list with folder output.
A fast web fuzzer written in Go.
A fast web fuzzer written in Go, packaged for virtual host discovery.
A target URL and a directory wordlist feed medusa, which fuzzes the host recursively and writes the discovered paths as a queryable output.
Facts on this page come from the live Trickest tool library.