Skip to main content

██╗   ██╗ ██████╗███████╗██╗   ██╗███████╗███████╗
██║   ██║██╔════╝██╔════╝██║   ██║╚══███╔╝╚══███╔╝
██║   ██║██║     █████╗  ██║   ██║  ███╔╝   ███╔╝ 
██║   ██║██║     ██╔══╝  ██║   ██║ ███╔╝   ███╔╝  
╚██████╔╝╚██████╗██║     ╚██████╔╝███████╗███████╗
 ╚═════╝  ╚═════╝╚═╝      ╚═════╝ ╚══════╝╚══════╝

Browser-based web fuzzer. Bypasses WAFs, solves CAPTCHAs, looks like a real user.


PyPI version Python License PyPI downloads



🚀 Why UCFuzz?

Most fuzzers send raw HTTP requests. That works — until the target runs Cloudflare, has browser fingerprinting, requires a login session, or throws a CAPTCHA on suspicious traffic.

UCFuzz runs a real Chrome browser via undetected-chromedriver. Every request has a real TLS fingerprint, real browser headers, and real JavaScript execution. To the server, it looks like a human clicking links.

Feature Traditional Fuzzer UCFuzz
Engine Raw HTTP (requests/aiohttp) 🌐 Full Chrome Browser
WAF Evasion Blocked by Cloudflare / Akamai ✅ Naturally Bypasses
JS Support None (Static only) ⚡ Full JS & SPA Handling

📦 Installation

Choose the method that fits your needs:

🐍 Via PyPI

Install the stable version instantly:

pip install ucfuzz

🛠️ Or from source:

git clone https://github.com/raceoverflow/ucfuzz
cd ucfuzz
pip install .

Quick start

ucfuzz -u https://target.com/FUZZ -w wordlist.txt

The browser opens. Log in, solve any CAPTCHA, then press Enter — UCFuzz takes over from there.


Usage

ucfuzz [OPTIONS]

Options:
  -u, --url TEXT              Target URL with FUZZ placeholder  [required]
  -w, --wordlist PATH         Path to wordlist  [required]
  -o, --output PATH           Save results as JSONL
  --delay TEXT                Delay between requests: 100ms, 1s, 2m  [default: 0s]
  --timeout FLOAT             Response timeout in seconds  [default: 10.0]
  --exclude-status INTEGER    Hide this status code (repeatable)  [default: 404]
  --exclude-length INTEGER    Hide this content length (repeatable)
  --extension TEXT            Append extension to every word: php, html, js
  --headless                  Run browser without a window
  --start                     Specify index of word in wordlist to start scan from
  --captcha-flag              Specify word whic appears on the page when captcha is triggered to solve it automatically
  --headers                   Specify custom headers
  --cookies                   Specify custom cookies
  --help                      Show this message and exit

Use cases

Discovery

Standard brute-force on a site protected by Cloudflare. UCFuzz navigates through the challenge automatically.

ucfuzz -u https://target.com/FUZZ -w raft-large-dirs.txt --delay 50ms

Slow, human-like scanning

Avoid rate-limiting and IDS alerts by mimicking realistic browsing speed.

ucfuzz -u https://target.com/FUZZ -w wordlist.txt --delay 2s --timeout 30

Output

Results print live to the terminal, colour-coded by status:

https://target.com/admin          (Status: 200) [Size: 4821]
https://target.com/backup.zip     (Status: 200) [Size: 204800]
https://target.com/config         (Status: 403) [Size: 312]
https://target.com/.env           (Status: 200) [Size: 89]

Save to JSONL with -o results.jsonl for further processing:

cat results.jsonl | jq 'select(.status_code == 200)'

Roadmap

Things coming next, roughly in priority order:

  • Parallel browser sessions — run N browsers simultaneously for faster scans without looking like a bot
  • Recursive mode — automatically fuzz newly discovered directories with specified recursion depth
  • Custom headers & cookies — inject Authorization, X-API-Key, or any arbitrary header per request
  • POST / PUT fuzzing — fuzz request bodies, not just URLs
  • Report export — generate HTML/Markdown reports from JSONL output
  • Smarter response handling - parse robots.txt, sitemap, ds_store and opendir responses
  • Save the state - save the state of scans in sqlite database
  • Web GUI - modern minimalistic web GUI based on FastAPI
  • Random delay - random delay to prevent waf from detecting us in some cases
  • CAPTCHA flag - indicate captcha by inclusion of specific markers to prevent it from wasting wordlist until solved
  • Survive network errors - keep going from the same place when stopped due to the network issues
  • Proxy mode - proxify http requests of any app over the browser

Have a feature request? Open an issue.


UCFuzz is intended for authorized security testing only. Only use it against systems you own or have explicit written permission to test. Unauthorized use is illegal and unethical.

Metadata

Release files for ucfuzz 0.5.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ucfuzz 0.5.5
File Size Uploaded
ucfuzz-0.5.5.tar.gz 20.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ucfuzz 0.5.5
File Interpreter ABI Platform
ucfuzz-0.5.5-py3-none-any.whl Python 3 none any Details

Total release size: 40.5 kB

Release files / ucfuzz-0.5.5.tar.gz

Download URL ucfuzz-0.5.5.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d226f4c6f3b4a8e0202cd638763074b69f311b00f9ccd5f3fea69e2b117f7280
BLAKE2b-256 checksum
How to use checksums
b0c01a844242dea0ddd62abf96cca628e5e412e10b0be9aa5d0860b50957d5b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / ucfuzz-0.5.5-py3-none-any.whl

Download URL ucfuzz-0.5.5-py3-none-any.whl
Size 20.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d592d30f852555088c92fd416f1506861db9c7dd1a75b1ae5d698a8395527508
BLAKE2b-256 checksum
How to use checksums
37849b125068ab0fa32450e50fa9b20d33f8dd146ca480fbe14d10cf25b4ac18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

0.5.5 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page