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.
- 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.
- 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.
Install requirements
pip3 install -r requirements.txt
Run the script
python3 forbidden_buster.py -u http://example.com
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.
First, build the Docker image:
docker build -t forbidden-buster-image .
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.
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
- 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.