Fast, lightweight and secure directory brute-forcer written in Python
Features • Install • Usage • Flags • License
Love the project? Please consider leaving a star 🌟
Important
Please leave an issue if you have a feature suggestion or a bug appears!
Important
If you have a suggestion for a new feature, please contribute. There is more information about how to contribute in our contributing guidelines
Caution
Use only against targets you have explicit permission to test. Misuse may be illegal.
-
Probes HTTP/HTTPS (auto-fallback when no scheme is provided)
-
Try raw directories and optional file extensions
-
Output formats: raw, JSON, CSV
-
Resume mode (skip already-recorded URLs)
-
Append mode (preserve previous results)
-
Subs-only mode to only try directory paths like /admin, /login etc.
-
Scan many different domains in one with
-mT -
Scan specific ports with
-p
- Install the project
git clone github.com/Schousboe/PyBuster.git- Install requirements
pip install -r requirements.txt- Run a simple script and boom!
python3 PyBuster.py -f wordlists/common.txt example.compython3 PyBuster.py -f path/to/wordlist.txt website.comThis returns the raw data in a file called directories.txt
python3 PyBuster.py -f path/to/wordlist.txt -x .php,.html
-oF json -o results.json example.comThis returns all php and html files in JSON format to a file called results.json
Searching for directories, from multiple sub-domains, with the extension .log, outputting as CSV to a file already containing data.
python3 PyBuster.py -f path/to/wordlist.txt -x .log -oF csv -o /path/to/output.csv --resume -d -mT path/to/targets.txt-
-f, --file - path to wordlist (required)
-
-o, --output - output file (default: directories.txt)
-
-x, --ext - comma separated extensions (e.g. php, html)
-
-d, --dirs-only- only try directory paths (no extensions)
-
-r, --resume - skip URLs already present in output
-
-a, --append - append to output file instead of overwrite
-
-oF, --output-format - raw / json / csv
-
-mT, --multiple-targets - file with multiple domains (one per line)
-
-p, --ports - comma-separated ports to scan (e.g. 80,443,8080)
Contributions are welcome but please see our contributing guidelines first, before opening a pull request
This project is distributed under the CC0 1.0 Universal license. This means you are free to copy, modify and use PyBuster for any purpose, without restriction
