Skip to content

AFUZZ is a fast and efficient URL fuzzing tool ๐ŸŽฏ designed for penetration testers and bug bounty hunters ๐Ÿ•ต๏ธโ€โ™‚๏ธ. It supports synchronous โš™๏ธ and asynchronous ๐ŸŒ modes, customizable payloads ๐Ÿ“œ, and logs only successful responses โœ…. With color-coded output ๐ŸŽจ and file logging ๐Ÿ’พ, AFUZZ makes fuzzing fun and productive!

Notifications You must be signed in to change notification settings

bitkeyhash/AFUZZ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽช AFUZZ: Async URL Fuzzer ๐ŸŽฎ

Welcome to AFUZZ, a lightweight and efficient URL fuzzing tool designed to test web applications for vulnerabilities or hidden endpoints. Whether you're a penetration tester, bug bounty hunter, or just someone who loves exploring the unknown, AFUZZ is here to make your fuzzing experience both fun and powerful! ๐ŸŽ‰


๐ŸŽฏ Features

  • ๐ŸŒ Supports Synchronous and Asynchronous Modes
    Choose between synchronous (blocking) or asynchronous (non-blocking) fuzzing for optimal performance.

  • โšก Fast and Efficient
    Leverages aiohttp for blazing-fast asynchronous requests.

  • ๐Ÿ› ๏ธ Customizable Payloads
    Use your own wordlists to replace placeholders in the base URL.

  • โœ… Logs Only Successful Responses (200)
    Outputs only URLs with 200 OK responses, keeping your results clean and focused.

  • ๐Ÿ–๏ธ Color-Coded Output
    Highlights successful URLs in green for better visibility.

  • ๐Ÿ’พ Output Results to File
    Saves results to a specified file for later analysis.


๐Ÿ•น๏ธ How It Works

AFUZZ replaces the @ placeholder in the base URL with payloads from a wordlist and sends HTTP requests to test each variation. You can choose between synchronous or asynchronous modes based on your needs.


๐ŸŽช Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/afuzz.git
    cd AFUZZ
  2. Install dependencies:

    pip install -r requirements.txt
  3. You're ready to fuzz! ๐ŸŽ‰


๐ŸŽฎ Usage

Run the script with the following options:

python afuzz.py -u <base_url> -w <wordlist> -o <output_file> -m <mode>

Options:

Option Description
-u, --url Base URL with @ as a placeholder (e.g., https://example.com/@).
-w, --wordlist Path to your wordlist file containing payloads (one per line).
-o, --output Path to the output file where results will be saved (e.g., results.txt).
-m, --mode Fuzzing mode: sync (synchronous) or async (asynchronous). Default is sync.

๐ŸŽข Examples

Example 1: Synchronous Fuzzing

python afuzz.py -u "https://example.com/@" -w wordlist.txt -o results.txt -m sync

Example 2: Asynchronous Fuzzing

python afuzz.py -u "https://example.com/@" -w wordlist.txt -o results.txt -m async

Example Output:

Console Output:

https://response1.com
https://response2.com

Successful responses (200): 2

Output File (results.txt):

https://response1.com
https://response2.com

๐ŸŽญ How It Works Under the Hood

๐Ÿงฉ Core Functions:

  1. URL Validation
    Ensures the base URL is valid and contains the placeholder (@).

  2. Synchronous Fuzzing (sync_fuzz)
    Replaces the placeholder with each payload, sends HTTP requests using requests, and logs only successful responses (200 OK).

  3. Asynchronous Fuzzing (async_fuzz)
    Uses aiohttp to perform non-blocking HTTP requests, allowing multiple URLs to be tested simultaneously for faster results.

  4. Output Handling
    Logs only successful URLs (200 OK) to both the console and an output file for clarity and simplicity.


๐Ÿ› ๏ธ Code Overview

Here's a brief overview of how AFUZZ works:

Main Components:

  1. Input Validation:
    Ensures the base URL, wordlist, and other inputs are valid before proceeding.

  2. Synchronous Mode:
    Uses Python's requests library to send HTTP requests one at a time.

  3. Asynchronous Mode:
    Leverages Python's asyncio and aiohttp libraries for concurrent requests.

  4. Output Results:
    Logs only URLs with a status code of 200 (OK) to both the console and output file.


๐Ÿ›ก๏ธ Error Handling

AFUZZ handles common errors gracefully:

  • Invalid URLs are flagged during validation.
  • Errors during HTTP requests are logged but do not interrupt execution.
  • If an output file already exists, you'll be prompted before overwriting it.

๐ŸŽˆ License

This project is licensed under MIT License. Feel free to use it in your projects! ๐Ÿ˜Š


Happy fuzzing! ๐Ÿš€


About

AFUZZ is a fast and efficient URL fuzzing tool ๐ŸŽฏ designed for penetration testers and bug bounty hunters ๐Ÿ•ต๏ธโ€โ™‚๏ธ. It supports synchronous โš™๏ธ and asynchronous ๐ŸŒ modes, customizable payloads ๐Ÿ“œ, and logs only successful responses โœ…. With color-coded output ๐ŸŽจ and file logging ๐Ÿ’พ, AFUZZ makes fuzzing fun and productive!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages