Skip to main content

Py3webFuzz

made--python

';-- Python Web Fuzzing module Library

Python3 Module Compatible
Awesome

Author

Contributors

  • Nathan Hamiel @nathanhamiel

DESCRIPTION

Based on pywebfuzz, Py3webfuzz is a Python3 module to assist in the identification of vulnerabilities in web applications, Web Services through brute force, fuzzing and analysis. The module does this by providing common testing values, generators and other utilities that would be helpful when fuzzing web applications, API endpoints and developing web exploits.

py3webfuzz has the fuzzdb and some other miscellaneous sources implemented in Python classes, methods and functions for ease of use. fuzzdb project is just a collection of values for testing. The point is to provide a pretty good selection of values from fuzzdb project and some others sources, cleaned up and available through Python3 classes, methods and namespaces. This makes it easier and handy when the time comes up to use these values in your own exploits and PoC.

Effort was made to match the names up similarly to the folders and values from the latest fuzzdb project. This effort can sometimes make for some ugly looking namespaces. This balance was struck so that familiarity with the fuzzdb project would cross over into the Python code. The exceptions come in with the replacement of hyphens with underscores.

INSTALLATION

Installation can be done in a couple of ways. If you want use virtual environment

Option 1

  • Using pip
$ sudo apt-get install python3-venv

Create a folder for your "venv", go to the directory and execute the following command

 $ python3 -m venv venv

Upgrade, Activate PIP and Install

$ python3 -m pip install --upgrade pip
$ source venv/bin/activate
$ pip3 install py3webfuzz

You should be able to go.

Option 2

You can run the supplied setup.py with the install command

 $  setup.py install

You can also use easy_install if that's what you do to manage your installed packages

 $ easy_install py3webfuzz_VERSION.tar.gz

You can also point to the location where the tar.gz lives on the web

 $ easy_install URL_package

Uploading this module to the Python Package Index. At that point you should be able to just type

 $ easy_install py3webfuzz

Use in your Code

  • Some test cases can be found within info sub folder
# Accessing SQLi values and encode them for further use 
# Import Library
from py3webfuzz import fuzzdb
from py3webfuzz import utils, encoderFuncs
# Instantiate a Class Object that give you access to a set of SQLi values
sqli_detect_payload = fuzzdb.Attack.AttackPayloads.SQLi.Detect()
# Getting Access to those values through a list
for index, payload in enumerate(sqli_detect_payload.Generic_SQLI):
    print(f"Payload: {index} Value: {payload}")
    # Using encoderFuncs you can get different handy encodings to develop exploits
    print(f"SQLi Char Encode: {encoderFuncs.sqlchar_encode(payload)}")
# Send HTTP request to your target
# Import Library
from py3webfuzz import utils
# Custome your target and Headers
location = "http://127.0.0.1:8080/WebGoat/start.mvc#lesson/WebGoatIntroduction.lesson"
    headers = {"Host": "ssl.scroogle.org", "User-Agent": \
               "Mozilla/4.0 (compatible; MSIE 4.01; AOL 4.0; Mac_68K)",
               "Content-Type": "application/x-www-form-urlencoded"}
# at this point you have a dic object with all the elements for your pentest
# "headers": response.headers, "content": response.content, "status_code": response.status_code,
# 'json': response.json, "text": response.text, "time": f"Total in seconds: {time}"
res = utils.make_request(location, headers=headers, method="get")
# print the response 
print(res)

Demo

FUTURE

  • Uploading this module to the Python Package Index.
  • Integrate features, classes , methods and values for Mobile Pentest
  • Enhance the XSS, XXE, techniques throw some new features (Any ideas are welcome)
  • Feature for Server-Side Template Injection

Metadata

Release files for py3webfuzz 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py3webfuzz 0.1.7
File Size Uploaded Provenance Actions
py3webfuzz-0.1.7.tar.gz 8.0 MB Without provenance Details for py3webfuzz-0.1.7.tar.gz

Release files / py3webfuzz-0.1.7.tar.gz

Download URL py3webfuzz-0.1.7.tar.gz
Size 8.0 MB
Tags Source
SHA-256 checksum
How to use checksums
ea8bb26cb76334db766e3c64f5b6987982eb7f974d93bc03be081fa34466e390
BLAKE2b-256 checksum
How to use checksums
c9c1bfd46080a33367a78f0e8204cc1f74b3747a51eca7d9988f662cfe67a2c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

Security for py3webfuzz 0.1.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.7 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page