Skip to main content

Comprehensive web path scanner tool designed to facilitate penetration testing and web application security assessment

Project description

pyFuzz v1.1.1

PyFuzz is a comprehensive web path scanner tool designed to facilitate penetration testing and web application security assessment. This tool allows for the scanning of web applications to discover potential vulnerabilities and backup files through brute force path finding.

pyFuzz

Features

  • Ability to Only Show pages with response code 200.
  • Show redirect pages (Code 3xx)
  • Show pages with Internal Error (Code 5xx).
  • Set sleep time between requests.
  • Add multiple custom Header values (Ex.: User-Agent, Cookies, etc...).
  • Add a request parameters (Ex.: name=val&name2=val2).
  • Set a request method (Ex.: POST, GET, PUT, etc...).
  • Ignore findings that contains a specific text in the response.
  • Ignore findings with response size smaller than X Bytes.
  • Log finding in a file.
  • Ability to start scanning from specific line number in the provided list (Useful after a crash in the middle of a scan).
  • Set request timeout.
  • Ability to set variables to be replaces with value while fuzzing.
  • Ability to execute shell command on each found URL.
  • Ability to scan over http Proxy.

If you have a new feature you'd like to see, please submit an issue.


Install using pip

pip install pyfuzz-web

Install from Github

Simply clone the repository to the location you want: (Example: you want to place it in ~/apps/

mkdir -p ~/apps/
cd ~/apps/
git clone https://github.com/ayoobali/pyfuzz
cd pyfuzz
chmod +x pyfuzz.py
./pyfuzz.py

To run the application from any directory, just create a symlink of pyfuzz.py in your bin directory.

ln -s ~/apps/pyfuzz/pyfuzz.py ~/bin/pyfuzz

OR One line installation:

mkdir -p ~/bin/ && mkdir -p ~/apps/ && cd ~/apps/ && git clone https://github.com/ayoobali/pyfuzz && cd pyfuzz && chmod +x pyfuzz.py && ln -s ~/apps/pyfuzz/pyfuzz.py ~/bin/pyfuzz

Usage

To fuzz a URL:

pyfuzz -u <URL> -l </Path/To/List/File.txt>

To fuzz a URL and only show findings with page size above 500 Bytes"

pyfuzz -u <URL> -l </Path/To/List/File.txt> -m 500

To fuzz a URL and ignore findings that contains specific string (Ex.: 'This page does not exist')

pyfuzz -u <URL> -l </Path/To/List/File.txt> -i 'This page does not exist'

To download a copy of the found URL's

pyfuzz -u <URL> -l </Path/To/List/File.txt> --cmd 'wget "{#URL#}"'

For more options:

pyfuzz -h

Change LOG

[25-02-2025] v1.1.1

  • [NOTES] Allow installation using pip

[17-05-2021] v1.1.0

  • [Added] Option to scan URL's over HTTP Proxy
  • [Added] Body variable in command execution option

[10-06-2019] v1.0.3

  • [Changed] Error messages now shows the number of the current item of the list.
  • [Fixed] Timeout was not implemented for http URL's.

[07-02-2019] v1.0.2

  • [Added] Option to Execute a shell command on each found URL --cmd.
  • [Fixed] Fixed a bug in detecting default return code status.

[07-01-2019] v1.0.1

  • [Added] Option to set value for variables in the list (-d)
  • [Fixed] Minor improvement in the way of displaying the progress.

[07-01-2019] v1.0.0

  • [Added] Option to ignore findings with response size smaller than X Bytes (-m).
  • [Added] Option to set request timeout (-t).
  • [Added] Option to save output to a file (-g).
  • [Added] Option to Start scanning from specific line number (-f).
  • [Added] New list files (aps.txt, php.txt, directories.txt, others.txt, sharepoint.txt, short.txt)
  • [Added] Shebang to the python script so it can run directly from the terminal.
  • [Changed] List files are stored in a directory called 'lists'.
  • [Removed] Old list files.
  • [Removed] Bash script that runs pyfuzz.py as it's not needed anymore.

[24-07-2018] v0.5.1

  • [Added] Option to ignore results that contain a specific string in the response body (-i).

[23-07-2018] v0.5.0

  • [Added] Option to add Custom Header to the request (-a).
  • [Added] Option to Change the HTTP Request Method (-x).
  • [Added] Option to add a Request Body (-b).
  • [Fixed] First random page to check response code now randomly generated.
  • [Fixed] Minor issue.

TO-DO:

  • Add multi-threading option.
  • Add a spider option.
  • Add option to replace variables in the provided list (Ex.: Replace "somepage.{#ext}" with "somepage.php").
  • Add the ability to filter results based on a string in the response body.

Disclaimer

PyFuzz is intended for educational and legal testing purposes only. Use of this tool for attacking web applications without prior mutual consent is illegal and could lead to a lawsuit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfuzz_web-1.1.1.post1.tar.gz (384.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfuzz_web-1.1.1.post1-py3-none-any.whl (385.0 kB view details)

Uploaded Python 3

File details

Details for the file pyfuzz_web-1.1.1.post1.tar.gz.

File metadata

  • Download URL: pyfuzz_web-1.1.1.post1.tar.gz
  • Upload date:
  • Size: 384.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pyfuzz_web-1.1.1.post1.tar.gz
Algorithm Hash digest
SHA256 7a7ede04cb934782eade91098a7201169431d270a6609ce4e44bab93219503f8
MD5 a82633cf9d3a9fa362bb2337fa99f005
BLAKE2b-256 dc1781a52e4b8e3d9ecbf8386f20bf1c04d479ee379a22b1a75bf99db8d033e4

See more details on using hashes here.

File details

Details for the file pyfuzz_web-1.1.1.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for pyfuzz_web-1.1.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 6134752a042d4541c9e49c8cdf03b1889609b215e149d6805b5b22e7af57690c
MD5 78cdf98e248c797d8ed81d458f8197a5
BLAKE2b-256 6a7a39e92e3a3255f4c5c8c7bf919334d6e865f76ce3207fdae84f3b9347236b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page