11# BunBuster
2+
23## Ridiculously fast web & TCP fuzzer designed for brute-forcing directories, subdomains, and files on web servers.
34
45Up to ** 3.5x** faster than ffuf and fully built with Bun. Available for Windows, Mac and Linux.
56
67![ Screenshot of a BunBuster scan's result, finding 2 paths on a test server] ( ./assets/screenshot.png )
8+
79![ Screenshot of a BunBuster scan in progress] ( ./assets/screenshot-loader.png )
810
911<small >* Without using artificial ratelimits, and in my own testing. Might vary depending on your machine.</small >
1012
11- ***
13+ ---
1214
1315## Usage
1416
@@ -25,35 +27,38 @@ bunx bunbuster https://example.com/FUZZ -w ./wordlist.txt
2527## Features
2628
2729- ** Super fast** :
28- - Optimized for speed, multi-threaded by default.
29- - Built with Bun
30- - 3.5x faster than ffuf
30+ - Optimized for speed, multi-threaded by default.
31+ - Built with Bun
32+ - 3.5x faster than ffuf
3133- ** Extensible** :
32- - Fully-fledged TCP support
33- - Fuzz by path, subdomains, parameters, request body, headers and more
34+ - Fully-fledged TCP support
35+ - Fuzz by path, subdomains, parameters, request body, headers and more
3436- ** Filtering** :
35- - Filter responses by size
36- - Filter responses by status code
37+ - Filter responses by size
38+ - Filter responses by status code
3739- ** Super customizable** :
38- - Custom headers
39- - Custom methods
40- - Fully configurable request parameters
41- - Use fuzzing in any request parameter, URL, paths, subdomains and more.
40+ - Custom headers
41+ - Custom methods
42+ - Fully configurable request parameters
43+ - Use fuzzing in any request parameter, URL, paths, subdomains and more.
4244- ** Bypass ratelimits** :
43- - Built-in rate limit detection and evasion by using a backoff delay.
44- - Configurable request throttling by using the ` requests per minute ` config.
45- - Simple IP spoofing by setting a randomized ` X-Forwarded-For ` /` X-Real-IP ` header
46- - Built-in timeout handling
45+ - Built-in rate limit detection and evasion by using a backoff delay.
46+ - Configurable request throttling by using the ` requests per minute ` config.
47+ - Simple IP spoofing by setting a randomized ` X-Forwarded-For ` /` X-Real-IP ` header
48+ - Built-in timeout handling
49+ - ** Easy to use with bunx** :
50+ - No more manually downloading, installing and updating binaries.
51+ - Only Bun is required
52+ - Auto-updates
4753- ** And more** :
48- - Export as CSV
49- - View request sizes
50- - Easy to understand docs
51- - Clean UX
52-
54+ - Export as CSV
55+ - View request sizes
56+ - Easy to understand docs
57+ - Clean UX
5358
5459> Note: As all other web fuzzers, you'll need a wordlist. You can download sample ones from the ` assets/wordlists ` folder in this repo.
5560
56- ***
61+ ---
5762
5863![ BunBuster vs FFUF speed comparison] ( ./assets/speed-graph.svg )
5964
@@ -69,71 +74,82 @@ bunx bunbuster <url> [options]
6974```
7075
7176Use ` FUZZ ` as the placeholder for fuzzing. This is in order to make it easier to use with other tools like ffuf.
77+
7278Run ` bunbuster --help ` to see all of the available arguments and options.
7379
7480## Examples
7581
7682### Basic
83+
7784``` bash
7885bunx bunbuster http://ffuf.me/cd/basic/FUZZ -w ./wordlists/common.txt
7986```
8087
8188### FUZZ between extension and path
89+
8290``` bash
8391bunx bunbuster http://ffuf.me/cd/ext/logs/FUZZ.log -w ./wordlists/common.txt
8492```
8593
8694### FUZZ in parameters
95+
8796``` bash
8897bunx bunbuster http://ffuf.me/cd/param/data? FUZZ=1 -w ./wordlists/parameters.txt
8998```
9099
91100### Set ratelimiting
101+
92102``` bash
93103bunx bunbuster http://ffuf.test/cd/rate/FUZZ -w ./wordlists/common.txt -rpm 3000 # 50 req/s
94104```
95105
96106### Automatic ratelimit detection
107+
97108``` bash
98109bunx bunbuster http://ffuf.test/cd/rate/FUZZ -w ./wordlists/common.txt
99110# note that -rpm is not set
100111```
101112
102113### Proxying
114+
103115``` bash
104116bunx bunbuster http://ffuf.test/cd/rate/FUZZ --proxy https://username:
[email protected] :8080
105117```
106118
107119### Subdomain Discovery
120+
108121``` bash
109122bunx bunbuster https://FUZZ.example.com -w ./wordlists/subdomains.txt
110123```
111124
112125### Custom Headers
126+
113127``` bash
114128bunx bunbuster https://api.example.com/FUZZ \
115129 -w ./wordlists/all.txt \
116130 -o ' {"headers": {"Authorization": "Bearer TOKEN"}}'
117131```
118132
119133### Verbose logging
134+
120135``` bash
121136bunx bunbuster https://api.example.com/FUZZ \
122137 -w ./wordlists/all.txt \
123138 --verbose
124139```
125140
126141## Roadmap
142+
127143These features aren't currently implemented but they might be comming soon.
128144
129145* Different wordlists that match to different keywords, e.g.
146+
130147``` bash
131148bunbuster https://$FUZZ1 .example.com/$FUZZ2 -w " ./wordlists/subdomains.txt, ./wordlists/common.txt"
132149```
133150
134151## Notes
135152
136- - If you don't know how to use this, copy this file and give it to ChatGPT. It will tell you everything you need to know. Don't open an issue.
137153- Be mindful of potential IP blocking. BunBuster currently does not have support for Tor, but you can set up a VPN and it should use it too.
138- - As always, use this responsibly and only on systems you have explicit permission to test BunBuster is intended for security research and authorized penetration testing. Always obtain proper authorization before scanning or testing any system you do not own or have explicit permission to test.
139- - I know that the bundle size might be pretty big, but that's a Bun problem since it embeds its binary directly into the executable. But it's still under 95mb, so prob not a problem for most people .
154+
155+ - As always, use this responsibly and only on systems you have explicit permission to test BunBuster is intended for security research and authorized penetration testing. Always obtain proper authorization before scanning or testing any system you do not own or have explicit permission to test .
0 commit comments