Skip to content

annithehunter/APIFuzz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

APIFuzz πŸš€

A lightweight Python-based API endpoint fuzzing tool that discovers valid API endpoints and displays their response content directly in the terminal.

πŸ“Œ Motivation

While using tools like ffuf for endpoint enumeration, I noticed that although they efficiently identify valid endpoints, I still had to manually visit each endpoint in a browser or use additional tools to inspect the response.

To streamline this process, I created APIFuzz.

APIFuzz not only identifies valid endpoints but also displays:

  • Endpoint path
  • HTTP status code
  • Response content

All directly inside the terminal.


✨ Features

  • Endpoint enumeration using custom wordlists
  • Displays valid endpoints
  • Shows HTTP status codes
  • Prints API response content
  • Colorized terminal output
  • Simple and lightweight

πŸ›  Requirements

  • Python 3.x
  • requests
  • termcolor

Install dependencies:

pip install requests termcolor

πŸ“‚ Usage

python3 apifuzz.py <API_URL> <WORDLIST>

Example

python3 apifuzz.py http://target-api.com/ wordlist.txt

πŸ“Έ Example Output

[*] checking for endpoints...

[+] Endpoint: /users Status Code: 200
{'id': 1, 'name': 'admin'}

[+] Endpoint: /products Status Code: 200
{'items': ['item1', 'item2']}

βš™οΈ How It Works

  1. Accepts a target API URL.
  2. Reads endpoints from a wordlist.
  3. Sends GET requests to each endpoint.
  4. Ignores 404 responses.
  5. Prints valid endpoints and their response content.

πŸ“ Project Structure

APIFuzz/
β”‚
β”œβ”€β”€ apifuzz.py
β”œβ”€β”€ wordlist.txt
└── README.md

πŸš€ Future Improvements

  • Multithreading support
  • Custom headers
  • Authentication support
  • Rate limiting
  • JSON/CSV output
  • POST request support
  • Response filtering

πŸ‘¨β€πŸ’» Author

Aniruddh Kumar Yadav

GitHub: https://github.com/annithehunter

LinkedIn: https://linkedin.com/in/annithehunter


⚠️ Disclaimer

This tool is intended for educational purposes and authorized security testing only. Always obtain proper permission before testing any target.

About

A lightweight Python API endpoint fuzzer that discovers valid endpoints and displays their response content directly in the terminal.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages