Skip to content

Latest commit

 

History

History
85 lines (61 loc) · 3.38 KB

README.md

File metadata and controls

85 lines (61 loc) · 3.38 KB

image

MIT License image

Forbidden Buster is a tool designed to automate various techniques in order to bypass HTTP 401 and 403 response codes and gain access to unauthorized areas in the system. This code is made for security enthusiasts and professionals only. Use it at your own risk.

Features

  • Probes HTTP 401 and 403 response codes to discover potential bypass techniques.
  • Utilizes various methods and headers to test and bypass access controls.
  • Customizable through command-line arguments.

🚀 Updates

  • Added API fuzzing methods, which probe for different API versions and also tamper with the data.
  • Removed rate limiting feature for now. Better implementation in the future.

Installation & Usage

Install requirements

pip3 install -r requirements.txt

Run the script

python3 forbidden_buster.py -u http://example.com

Using Docker

You can also use Docker to run Forbidden-Buster. This approach ensures that you have a consistent environment without needing to install Python on your host machine.

Building the Docker Image

First, build the Docker image:

docker build -t forbidden-buster-image .

Running the Docker Container

Next, run the Docker container. Pass the forbidden_buster.py script to the container.

docker run --rm -it -v /path/to/forbidden_buster.py:/app/forbidden_buster.py forbidden-buster-image /bin/bash

Note

Make sure to replace /path/to/forbidden_buster.py with the actual path to your forbidden_buster.py file. This command mounts your local file into the /app directory inside the container, allowing you to run the forbidden_buster.py script directly.

Inside the container, navigate to the /app directory and run the script as normal.

Arguments

Forbidden Buster accepts the following arguments:

  -h, --help            show this help message and exit
  -u URL, --url URL     Full path to be used
  -f FILE, --file FILE  Include a file with multiple URLs to be tested.
  -o OUTPUT, --output OUTPUT
                        Print the results to an output file, Usage i.e: output.txt.
  -m METHOD, --method METHOD
                        Method to be used. Default is GET.
  -H HEADER, --header HEADER
                        Add a custom header.
  -d DATA, --data DATA  Add data to requset body. JSON is supported with escaping.
  -p PROXY, --proxy PROXY
                        Use Proxy, Usage i.e: 127.0.0.1:8080.
  --include-unicode     Include Unicode fuzzing (stressful).
  --include-user-agent  Include User-Agent fuzzing (stressful).
  --include-api         Include API fuzzing.

Example Usage:

python3 forbidden_buster.py --url "https://example.com/api/v1/secret" --method POST --header "Authorization: Bearer XXX" --data '{\"key\":\"value\"}' --proxy "http://proxy.example.com" --include-api --include-unicode

Credits

  • Hacktricks - Special thanks for providing valuable techniques and insights used in this tool.
  • SecLists - Credit to danielmiessler's SecLists for providing the wordlists.
  • kaimi - Credit to kaimi's "Possible IP Bypass HTTP Headers" wordlist.