Gleam VersionLicense: MIT

Fuzzy

Fuzzy is a concurrent web-content fuzzer written in Gleam using BEAM processes.

It reads entries from a provided wordlist, inserts each entry into a target URL, sends concurrent HTTP requests, and prints responses matching the provided status codes.

Warning

Only use Fuzzy against systems you own or have permission to test.

Features

Requirements

Fuzzy currently targets only Erlang and has been tested with Gleam 1.17

Installation

Clone the repository:

git clone https://github.com/MasMariusD/fuzzy.git
cd fuzzy

Run it directly with Gleam:

gleam run -- --help

Alternatively, build a standalone single-file Erlang escript:

gleam export escript
./fuzzy --help

The escript still requires Erlang to be installed.

Usage

./fuzzy \
--target=<URL> \
--wordlist=<PATH> \
[--status=<CODES>] \
[--concurrency=<NUMBER>] \
[--timeout=<MILLISECONDS>]

Example against a locally hosted application:

./fuzzy \
--target=http://localhost:8080/pages/FZY \
--wordlist=common.txt \
--status=200,301,302,401,403 \
--concurrency=50 \
--timeout=3000

Target Placeholder

Use FZY in the target URL to control where each wordlist entry is inserted:

http://localhost:8080/api/FZY/details

If the target does not contain FZY, Fuzzy appends /FZY to the target URL automatically.

http://localhost:8080

becomes:

http://localhost:8080/FZY

Options

OptionRequiredDefaultDescription
--targetYes-The target URI. Use FZY as the wordlist placeholder
--wordlistYes-Path to a newline-separated wordlist
--statusNoAllComma-separated status response codes to print
--concurrencyNo50Number of concurrent requests
--timeoutNo3000Request timeout in milliseconds
--helpNo-Display command help

Wordlists

Fuzzy accepts any text file containing one entry per line. Empty lines are ignored.

The repository includes the common.txt wordlist from the SecLists project. See THIRD_PARTY_NOTICES.md.

Current limitations

Fuzzy 0.1.0 is still an early release. It currently:

These features are planned as future expansions.

License

Fuzzy is available under the MIT license.