Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phra/rustbuster
A Comprehensive Web Fuzzer and Content Discovery Tool
https://github.com/phra/rustbuster
bug-bounty hacktoberfest pentesting reconnaissance security security-tools
Last synced: 19 days ago
JSON representation
A Comprehensive Web Fuzzer and Content Discovery Tool
- Host: GitHub
- URL: https://github.com/phra/rustbuster
- Owner: phra
- License: gpl-3.0
- Created: 2019-05-03T13:18:54.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-21T00:15:15.000Z (over 1 year ago)
- Last Synced: 2024-10-15T02:35:30.627Z (about 2 months ago)
- Topics: bug-bounty, hacktoberfest, pentesting, reconnaissance, security, security-tools
- Language: Rust
- Homepage: https://iwantmore.pizza
- Size: 402 KB
- Stars: 525
- Watchers: 13
- Forks: 59
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-tools - RustButer - Files, directories and vhost buster written in Rust. (Asset Discovery / Content Discovery)
- awesome-rust-security - rustbuster - web fuzzer and content discovery tool (Web and Cloud Security / Pentesting)
- awesome-rust-cn - phra/rustbuster - 一个全面的网络模糊器和内容发现工具。 (应用程序 Applications / 安全工具 Security tools)
- Awesome-Asset-Discovery - rustbuster
- awesome-hacking-lists - phra/rustbuster - A Comprehensive Web Fuzzer and Content Discovery Tool (Rust)
README
# rustbuster [![CircleCI](https://circleci.com/gh/phra/rustbuster.svg?style=svg)](https://circleci.com/gh/phra/rustbuster)
A Comprehensive Web Fuzzer and Content Discovery Tool
[![asciicast](https://asciinema.org/a/ymyCFj4NBRukQIEcjjzK9JYEU.svg)](https://asciinema.org/a/ymyCFj4NBRukQIEcjjzK9JYEU)
## Introduction
Check the blog post: [Introducing Rustbuster — A Comprehensive Web Fuzzer and Content Discovery Tool](https://iwantmore.pizza/posts/rustbuster)
## Download
You can download prebuilt binaries from [here](https://github.com/phra/rustbuster/releases).
## Installation
```bash
install_rustbuster() {
echo "Installing latest version of Rustbuster"
latest_version=`curl -s https://github.com/phra/rustbuster/releases | grep "rustbuster-v" | head -n1 | cut -d'/' -f6`
echo "Latest release: $latest_version"
mkdir -p /opt/rustbuster
wget -qP /opt/rustbuster https://github.com/phra/rustbuster/releases/download/$latest_version/rustbuster-$latest_version-x86_64-unknown-linux-gnu
ln -fs /opt/rustbuster/rustbuster-$latest_version-x86_64-unknown-linux-gnu /opt/rustbuster/rustbuster
chmod +x /opt/rustbuster/rustbuster
echo "Done! Try running"
echo "/opt/rustbuster/rustbuster -h"
}install_rustbuster
```## Usage
```text
rustbuster 2.1.0
DirBuster for rustUSAGE:
rustbuster [SUBCOMMAND]FLAGS:
-h, --help Prints help information
-V, --version Prints version informationSUBCOMMANDS:
dir Directories and files enumeration mode
dns A/AAAA entries enumeration mode
fuzz Custom fuzzing enumeration mode
help Prints this message or the help of the given subcommand(s)
vhost Virtual hosts enumeration mode
tilde IIS 8.3 shortname enumeration modeEXAMPLES:
1. Dir mode:
rustbuster dir -u http://localhost:3000/ -w examples/wordlist -e php
2. Dns mode:
rustbuster dns -d google.com -w examples/wordlist
3. Vhost mode:
rustbuster vhost -u http://localhost:3000/ -w examples/wordlist -d test.local -x "Hello"
4. Fuzz mode:
rustbuster fuzz -u http://localhost:3000/login \
-X POST \
-H "Content-Type: application/json" \
-b '{"user":"FUZZ","password":"FUZZ","csrf":"CSRFCSRF"}' \
-w examples/wordlist \
-w /usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-10000.txt \
-s 200 \
--csrf-url "http://localhost:3000/csrf" \
--csrf-regex '\{"csrf":"(\w+)"\}'
5. Tilde mode:
rustbuster tilde -u http://localhost:3000/ -e aspx -X OPTIONS
```### `dir` usage
```text
rustbuster-dir
Directories and files enumeration modeUSAGE:
rustbuster dir [FLAGS] [OPTIONS] --url --wordlist ...FLAGS:
-f, --append-slash Tries to also append / to the base request
-K, --exit-on-error Exits on connection errors
-h, --help Prints help information
-k, --ignore-certificate Disables TLS certificate validation
--no-banner Skips initial banner
--no-progress-bar Disables the progress bar
-V, --version Prints version information
-v, --verbose Sets the level of verbosityOPTIONS:
-e, --extensions Sets the extensions [default: ]
-b, --http-body Uses the specified HTTP method [default: ]
-H, --http-header ... Appends the specified HTTP header
-X, --http-method Uses the specified HTTP method [default: GET]
-S, --ignore-status-codes Sets the list of status codes to ignore [default: 404]
-s, --include-status-codes Sets the list of status codes to include [default: ]
-o, --output Saves the results in the specified file [default: ]
-t, --threads Sets the amount of concurrent requests [default: 10]
-u, --url Sets the target URL
-a, --user-agent Uses the specified User-Agent [default: rustbuster]
-w, --wordlist ... Sets the wordlistEXAMPLE:
rustbuster dir -u http://localhost:3000/ -w examples/wordlist -e php
```### `dns` usage
```text
rustbuster-dns
A/AAAA entries enumeration modeUSAGE:
rustbuster dns [FLAGS] [OPTIONS] --domain --wordlist ...FLAGS:
-K, --exit-on-error Exits on connection errors
-h, --help Prints help information
--no-banner Skips initial banner
--no-progress-bar Disables the progress bar
-V, --version Prints version information
-v, --verbose Sets the level of verbosityOPTIONS:
-d, --domain Uses the specified domain
-o, --output Saves the results in the specified file [default: ]
-t, --threads Sets the amount of concurrent requests [default: 10]
-w, --wordlist ... Sets the wordlistEXAMPLE:
rustbuster dns -d google.com -w examples/wordlist
```### `vhost` usage
```text
rustbuster-vhost
Virtual hosts enumeration modeUSAGE:
rustbuster vhost [FLAGS] [OPTIONS] --domain --ignore-string ... --url --wordlist ...FLAGS:
-K, --exit-on-error Exits on connection errors
-h, --help Prints help information
-k, --ignore-certificate Disables TLS certificate validation
--no-banner Skips initial banner
--no-progress-bar Disables the progress bar
-V, --version Prints version information
-v, --verbose Sets the level of verbosityOPTIONS:
-d, --domain Uses the specified domain to bruteforce
-b, --http-body Uses the specified HTTP body [default: ]
-H, --http-header ... Appends the specified HTTP header
-X, --http-method Uses the specified HTTP method [default: GET]
-S, --ignore-status-codes Sets the list of status codes to ignore [default: 404]
-x, --ignore-string ... Ignores results with specified string in the HTTP body
-s, --include-status-codes Sets the list of status codes to include [default: ]
-o, --output Saves the results in the specified file [default: ]
-t, --threads Sets the amount of concurrent requests [default: 10]
-u, --url Sets the target URL
-a, --user-agent Uses the specified User-Agent [default: rustbuster]
-w, --wordlist ... Sets the wordlistEXAMPLE:
rustbuster vhost -u http://localhost:3000/ -w examples/wordlist -d test.local -x "Hello"
```### `fuzz` usage
```text
rustbuster-fuzz
Custom fuzzing enumeration modeUSAGE:
rustbuster fuzz [FLAGS] [OPTIONS] --url --wordlist ...FLAGS:
-K, --exit-on-error Exits on connection errors
-h, --help Prints help information
-k, --ignore-certificate Disables TLS certificate validation
--no-banner Skips initial banner
--no-progress-bar Disables the progress bar
-V, --version Prints version information
-v, --verbose Sets the level of verbosityOPTIONS:
--csrf-header ... Adds the specified headers to CSRF GET request
--csrf-regex Grabs the CSRF token applying the specified RegEx
--csrf-url Grabs the CSRF token via GET to csrf-url
-b, --http-body Uses the specified HTTP method [default: ]
-H, --http-header ... Appends the specified HTTP header
-X, --http-method Uses the specified HTTP method [default: GET]
-S, --ignore-status-codes Sets the list of status codes to ignore [default: 404]
-x, --ignore-string ... Ignores results with specified string in the HTTP Body
-s, --include-status-codes Sets the list of status codes to include [default: ]
-i, --include-string ... Includes results with specified string in the HTTP body
-o, --output Saves the results in the specified file [default: ]
-t, --threads Sets the amount of concurrent requests [default: 10]
-u, --url Sets the target URL
-a, --user-agent Uses the specified User-Agent [default: rustbuster]
-w, --wordlist ... Sets the wordlistEXAMPLE:
rustbuster fuzz -u http://localhost:3000/login \
-X POST \
-H "Content-Type: application/json" \
-b '{"user":"FUZZ","password":"FUZZ","csrf":"CSRFCSRF"}' \
-w examples/wordlist \
-w /usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-10000.txt \
-s 200 \
--csrf-url "http://localhost:3000/csrf" \
--csrf-regex '\{"csrf":"(\w+)"\}'
```### `tilde` usage
```text
rustbuster-tilde
IIS 8.3 shortname enumeration modeUSAGE:
rustbuster tilde [FLAGS] [OPTIONS] --urlFLAGS:
-K, --exit-on-error Exits on connection errors
-h, --help Prints help information
-k, --ignore-certificate Disables TLS certificate validation
--no-banner Skips initial banner
--no-progress-bar Disables the progress bar
-V, --version Prints version information
-v, --verbose Sets the level of verbosityOPTIONS:
-e, --extension Sets the redirect extension
-b, --http-body Uses the specified HTTP body [default: ]
-H, --http-header ... Appends the specified HTTP header
-X, --http-method Uses the specified HTTP method [default: GET]
-S, --ignore-status-codes Sets the list of status codes to ignore [default: 404]
-s, --include-status-codes Sets the list of status codes to include [default: ]
-o, --output Saves the results in the specified file [default: ]
-t, --threads Sets the amount of concurrent requests [default: 10]
-u, --url Sets the target URL
-a, --user-agent Uses the specified User-Agent [default: rustbuster]EXAMPLE:
rustbuster tilde -u http://localhost:3000/ -e aspx -X OPTIONS
```