403Fuzzer : Fuzz 403/401Ing Endpoints For Bypasses

403Fuzzer will check the endpoint with a couple of headers such as X-Forwarded-For

It will also apply different payloads typically used in dir traversals, path normalization etc. to each endpoint on the path.

e.g. /%2e/test/test2 /test/%2e/test2 /test;/test2/

Usage

usage: 403fuzzer.py [-h] [-u URL] [-m {GET,POST,PUT,PATCH}] [-d DATA_PARAMS] [-c COOKIES] [-H HEADER] [-p PROXY] [-hc HC] [-hl HL] [-sf] [–save SAVE] [-sh] [-su]
use this script to fuzz endpoints that return a 401/403
optional arguments:
-h, –help show this help message and exit
-u URL, –url URL Specify the target URL
-m {GET,POST,PUT,PATCH}, –method {GET,POST,PUT,PATCH}
Specify the HTTP method/verb
-d DATA_PARAMS, –data DATA_PARAMS
Specify data to send with the request.
-c COOKIES, –cookies COOKIES
Specify cookies to use in requests. (e.g., –cookies “cookie1=blah; cookie2=blah”)
-H HEADER, –header HEADER
Add headers to your request (e.g., –header “Accept: application/json” –header “Host: example.com”
-p PROXY, –proxy PROXY
Specify a proxy to use for requests (e.g., http://127.0.0.1:8080)
-hc HC Hide response code from output, single or comma separated
-hl HL Hide response length from output, single or comma separated
-sf, –smart Enable the smart filter
–save SAVE Saves stuff to a file when you get your specified response code
-sh, –skip-headers Skip testing bypass headers
-su, –skip-urls Skip testing path payloads

Basic Examples

python3 403fuzzer.py -u http://example.com/test1/test2/test3/forbidden.html

Specify cookies to use in requests

(minus the cookie header name) Examples

–cookies “cookie1=blah”
-c “cookie1=blah; cookie2=blah”

Specify a method/verb and body data to send

403fuzzer.py -u https://example.com -m POST -d “param1=blah&param2=blah2”
403fuzzer.py -u https://example.com -m PUT -d “param1=blah&param2=blah2”

Specify custom headers to use with every request

Maybe you need to add some kind of auth header like Authorization: bearer <token> Specify -H "header: value" for each additional header you’d like to add:

403fuzzer.py -u https://example.com -H “Some-Header: blah” -H “Authorization: Bearer 1234567”

Specify a proxy to use

Useful if you wanna proxy through Burp

403fuzzer.py -u https://example.com –proxy http://127.0.0.1:8080

Skip sending header payloads or url payloads

#skip sending headers payloads
403fuzzer.py -u https://example.com -sh
403fuzzer.py -u https://example.com –skip-headers
#Skip sending path normailization payloads
403fuzzer.py -u https://example.com -su
403fuzzer.py -u https://example.com –skip-urls

Hide response code/length

Provide comma delimited lists without spaces. Examples:

#Hide response codes
403fuzzer.py -u https://example.com -hc 403,404,400
#Hide response lengths of 638
403fuzzer.py -u https://example.com -hl 638

Smart filter feature

Based on response code and length. If it sees a response 8 times or more it will automatically mute it. repeats are changeable in the code until I add an option to specify it in flag NOTE: Can’t be used simultaneously with -hc or -hl (yet).

#toggle smart filter on
403fuzzer.py -u https://example.com –smart

Save requests for matching response code

Will save to a file named saved.txt Useful for later inspection

#save requests where the response code matched 200
403fuzzer.py -u https://example.com –save 200

R K

Recent Posts

groupdel Command in Linux: Remove a Group and Audit Files

The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…

12 minutes ago

wc Command in Linux: Count Lines, Words, Characters, and Bytes

The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…

20 minutes ago

top Command in Linux: Monitor Processes and Resource Usage

The top command in Linux provides a real-time view of running processes and system resource usage. From…

27 minutes ago

usermod Command in Linux: Modify User Accounts and Groups

The usermod command in Linux modifies existing user account attributes. You can use it to manage group…

36 minutes ago

sort Command in Linux: Sort Text, Numbers, Columns, and More

The sort command in Linux reads lines from files or standard input and writes them to standard…

1 day ago

wall Command in Linux: Broadcast Messages to Logged-In Users

The wall command in Linux sends a message to the terminals of all currently logged-in users. The…

1 day ago