Afuzz - An automated web path fuzzing tool
=======
Afuzz is an automated web path fuzzing tool for the Bug Bounty projects.
![Build](https://img.shields.io/badge/Built%20with-Python-Blue)
![Stars](https://img.shields.io/github/stars/rapiddns/afuzz.svg)
<a href="https://twitter.com/intent/tweet?text=afuzz-Afuzz is an automated web path fuzzing tool for the Bug Bounty projects.%20by%20@Rapiddns%0A%0Ahttps://github.com/rapiddns/afuzz">
![Tweet](https://img.shields.io/twitter/url?url=https%3A%2F%2Fgithub.com%2Frapiddns%2Fafuzz)
</a>
**Afuzz** is being actively developed by [@rapiddns](https://twitter.com/rapiddns)
## Features
- Afuzz automatically detects the development language used by the website, and generates extensions according to the language
- Uses blacklist to filter invalid pages
- Uses whitelist to find content that bug bounty hunters are interested in in the page
- filters random content in the page
- judges 404 error pages in multiple ways
- perform statistical analysis on the results after scanning to obtain the final result.
- support HTTP2
Installation
------------
```
git clone https://github.com/rapiddns/Afuzz.git
cd Afuzz
python setup.py install
```
OR
```
pip install afuzz
```
Run
------------
```
afuzz -u http://testphp.vulnweb.com -t 30
```
Result
------------
Table
```
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| http://testphp.vulnweb.com/ |
+-----------------------------+---------------------+--------+-----------------------------------+-----------------------+--------+--------------------------+-------+-------+-----------+----------+
| target | path | status | redirect | title | length | content-type | lines | words | type | mark |
+-----------------------------+---------------------+--------+-----------------------------------+-----------------------+--------+--------------------------+-------+-------+-----------+----------+
| http://testphp.vulnweb.com/ | .idea/workspace.xml | 200 | | | 12437 | text/xml | 217 | 774 | check | |
| http://testphp.vulnweb.com/ | admin | 301 | http://testphp.vulnweb.com/admin/ | 301 Moved Permanently | 169 | text/html | 8 | 11 | folder | 30x |
| http://testphp.vulnweb.com/ | login.php | 200 | | login page | 5009 | text/html | 120 | 432 | check | |
| http://testphp.vulnweb.com/ | .idea/.name | 200 | | | 6 | application/octet-stream | 1 | 1 | check | |
| http://testphp.vulnweb.com/ | .idea/vcs.xml | 200 | | | 173 | text/xml | 8 | 13 | check | |
| http://testphp.vulnweb.com/ | .idea/ | 200 | | Index of /.idea/ | 937 | text/html | 14 | 46 | whitelist | index of |
| http://testphp.vulnweb.com/ | cgi-bin/ | 403 | | 403 Forbidden | 276 | text/html | 10 | 28 | folder | 403 |
| http://testphp.vulnweb.com/ | .idea/encodings.xml | 200 | | | 171 | text/xml | 6 | 11 | check | |
| http://testphp.vulnweb.com/ | search.php | 200 | | search | 4218 | text/html | 104 | 364 | check | |
| http://testphp.vulnweb.com/ | product.php | 200 | | picture details | 4576 | text/html | 111 | 377 | check | |
| http://testphp.vulnweb.com/ | admin/ | 200 | | Index of /admin/ | 248 | text/html | 8 | 16 | whitelist | index of |
| http://testphp.vulnweb.com/ | .idea | 301 | http://testphp.vulnweb.com/.idea/ | 301 Moved Permanently | 169 | text/html | 8 | 11 | folder | 30x |
+-----------------------------+---------------------+--------+-----------------------------------+-----------------------+--------+--------------------------+-------+-------+-----------+----------+```
```
Json
```Json
{
"result": [
{
"target": "http://testphp.vulnweb.com/",
"path": ".idea/workspace.xml",
"status": 200,
"redirect": "",
"title": "",
"length": 12437,
"content_type": "text/xml",
"lines": 217,
"words": 774,
"type": "check",
"mark": "",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/.idea/workspace.xml"
},
{
"target": "http://testphp.vulnweb.com/",
"path": "admin",
"status": 301,
"redirect": "http://testphp.vulnweb.com/admin/",
"title": "301 Moved Permanently",
"length": 169,
"content_type": "text/html",
"lines": 8,
"words": 11,
"type": "folder",
"mark": "30x",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/admin"
},
{
"target": "http://testphp.vulnweb.com/",
"path": "login.php",
"status": 200,
"redirect": "",
"title": "login page",
"length": 5009,
"content_type": "text/html",
"lines": 120,
"words": 432,
"type": "check",
"mark": "",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/login.php"
},
{
"target": "http://testphp.vulnweb.com/",
"path": ".idea/.name",
"status": 200,
"redirect": "",
"title": "",
"length": 6,
"content_type": "application/octet-stream",
"lines": 1,
"words": 1,
"type": "check",
"mark": "",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/.idea/.name"
},
{
"target": "http://testphp.vulnweb.com/",
"path": ".idea/vcs.xml",
"status": 200,
"redirect": "",
"title": "",
"length": 173,
"content_type": "text/xml",
"lines": 8,
"words": 13,
"type": "check",
"mark": "",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/.idea/vcs.xml"
},
{
"target": "http://testphp.vulnweb.com/",
"path": ".idea/",
"status": 200,
"redirect": "",
"title": "Index of /.idea/",
"length": 937,
"content_type": "text/html",
"lines": 14,
"words": 46,
"type": "whitelist",
"mark": "index of",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/.idea/"
},
{
"target": "http://testphp.vulnweb.com/",
"path": "cgi-bin/",
"status": 403,
"redirect": "",
"title": "403 Forbidden",
"length": 276,
"content_type": "text/html",
"lines": 10,
"words": 28,
"type": "folder",
"mark": "403",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/cgi-bin/"
},
{
"target": "http://testphp.vulnweb.com/",
"path": ".idea/encodings.xml",
"status": 200,
"redirect": "",
"title": "",
"length": 171,
"content_type": "text/xml",
"lines": 6,
"words": 11,
"type": "check",
"mark": "",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/.idea/encodings.xml"
},
{
"target": "http://testphp.vulnweb.com/",
"path": "search.php",
"status": 200,
"redirect": "",
"title": "search",
"length": 4218,
"content_type": "text/html",
"lines": 104,
"words": 364,
"type": "check",
"mark": "",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/search.php"
},
{
"target": "http://testphp.vulnweb.com/",
"path": "product.php",
"status": 200,
"redirect": "",
"title": "picture details",
"length": 4576,
"content_type": "text/html",
"lines": 111,
"words": 377,
"type": "check",
"mark": "",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/product.php"
},
{
"target": "http://testphp.vulnweb.com/",
"path": "admin/",
"status": 200,
"redirect": "",
"title": "Index of /admin/",
"length": 248,
"content_type": "text/html",
"lines": 8,
"words": 16,
"type": "whitelist",
"mark": "index of",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/admin/"
},
{
"target": "http://testphp.vulnweb.com/",
"path": ".idea",
"status": 301,
"redirect": "http://testphp.vulnweb.com/.idea/",
"title": "301 Moved Permanently",
"length": 169,
"content_type": "text/html",
"lines": 8,
"words": 11,
"type": "folder",
"mark": "30x",
"subdomain": "testphp.vulnweb.com",
"depth": 0,
"url": "http://testphp.vulnweb.com/.idea"
}
],
"total": 12,
"target": "http://testphp.vulnweb.com/"
}
```
Wordlists (IMPORTANT)
---------------
**Summary:**
- Wordlist is a text file, each line is a path.
- About extensions, Afuzz replaces the `%EXT%` keyword with extensions from **-e** flag.If no flag -e, the default is used.
- Generate a dictionary based on domain names. Afuzz replaces %subdomain% with host, %rootdomain% with root domain, %sub% with subdomain, and %domain% with domain. And generated according to %ext%
**Examples:**
- Normal extensions
```
index.%EXT%
```
Passing **asp** and **aspx** extensions will generate the following dictionary:
```
index
index.asp
index.aspx
```
- host
```
%subdomain%.%ext%
%sub%.bak
%domain%.zip
%rootdomain%.zip
```
Passing **https://test-www.hackerone.com** and **php** extension will genrate the following dictionary:
```
test-www.hackerone.com.php
test-www.zip
test.zip
www.zip
testwww.zip
hackerone.zip
hackerone.com.zip
```
Options
-------
```
# ###### ### ### ###### ######
# # # # # # # # #
# # # # # # # # # #
# # ### # # # #
# # # # # # # #
##### # # # # # # #
# # # # # # # # #
### ### ### ### ###### ######
usage: afuzz [options]
An Automated Web Path Fuzzing Tool.
By RapidDNS (https://rapiddns.io)
options:
-h, --help show this help message and exit
-u URL, --url URL Target URL
-o OUTPUT, --output OUTPUT
Output file
-e EXTENSIONS, --extensions EXTENSIONS
Extension list separated by commas (Example: php,aspx,jsp)
-t THREAD, --thread THREAD
Number of threads
-d DEPTH, --depth DEPTH
Maximum recursion depth
-w WORDLIST, --wordlist WORDLIST
wordlist
-f, --fullpath fullpath
-p PROXY, --proxy PROXY
proxy, (ex:http://127.0.0.1:8080)
```
How to use
---------------
Some examples for how to use Afuzz - those are the most common arguments. If you need all, just use the **-h** argument.
### Simple usage
```
afuzz -u https://target
```
```
afuzz -e php,html,js,json -u https://target
```
```
afuzz -e php,html,js -u https://target -d 3
```
### Threads
The thread number (**-t | --threads**) reflects the number of separated brute force processes. And so the bigger the thread number is, the faster afuzz runs. By default, the number of threads is 10, but you can increase it if you want to speed up the progress.
In spite of that, the speed still depends a lot on the response time of the server. And as a warning, we advise you to keep the threads number not too big because it can cause DoS.
```
afuzz -e aspx,jsp,php,htm,js,bak,zip,txt,xml -u https://target -t 50
```
----
### Blacklist
The **blacklist.txt** and **bad_string.txt** files in the /db directory are blacklists, which can filter some pages
The **blacklist.txt** file is the same as dirsearch.
The **bad_stirng.txt** file is a text file, one per line. The format is position==content. With == as the separator, position has the following options: header, body, regex, title
----
### Language detection
The **language.txt** is the detection language rule, the format is consistent with **bad_string.txt**. Development language detection for website usage.
References
---------------
Thanks to open source projects for inspiration
- [Dirsearch](ttps://github.com/maurosoria/dirsearch) by by Shubham Sharma
- [wfuzz](https://github.com/xmendez/wfuzz) by Xavi Mendez
- [arjun](https://github.com/s0md3v/Arjun) by Somdev Sangwan
Raw data
{
"_id": null,
"home_page": "https://github.com/rapiddns",
"name": "Afuzz",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "afuzz,bug bounty,http,pentesting,security",
"author": "RapidDNS",
"author_email": "skyj96455@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/f4/07/4a40e81e47779e53630c9bb54ee2a797385c527bacf20a99d393c05bf0fc/Afuzz-0.1.12.tar.gz",
"platform": null,
"description": "Afuzz - An automated web path fuzzing tool\r\n=======\r\n\r\nAfuzz is an automated web path fuzzing tool for the Bug Bounty projects.\r\n\r\n![Build](https://img.shields.io/badge/Built%20with-Python-Blue)\r\n![Stars](https://img.shields.io/github/stars/rapiddns/afuzz.svg)\r\n<a href=\"https://twitter.com/intent/tweet?text=afuzz-Afuzz is an automated web path fuzzing tool for the Bug Bounty projects.%20by%20@Rapiddns%0A%0Ahttps://github.com/rapiddns/afuzz\">\r\n ![Tweet](https://img.shields.io/twitter/url?url=https%3A%2F%2Fgithub.com%2Frapiddns%2Fafuzz)\r\n</a>\r\n\r\n**Afuzz** is being actively developed by [@rapiddns](https://twitter.com/rapiddns)\r\n\r\n## Features\r\n- Afuzz automatically detects the development language used by the website, and generates extensions according to the language\r\n- Uses blacklist to filter invalid pages\r\n- Uses whitelist to find content that bug bounty hunters are interested in in the page\r\n- filters random content in the page\r\n- judges 404 error pages in multiple ways\r\n- perform statistical analysis on the results after scanning to obtain the final result.\r\n- support HTTP2\r\n\r\nInstallation\r\n------------\r\n```\r\ngit clone https://github.com/rapiddns/Afuzz.git\r\ncd Afuzz\r\npython setup.py install\r\n```\r\n\r\nOR \r\n```\r\npip install afuzz\r\n```\r\n\r\nRun\r\n------------\r\n\r\n```\r\nafuzz -u http://testphp.vulnweb.com -t 30\r\n```\r\n\r\nResult\r\n------------\r\n\r\nTable\r\n```\r\n+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\r\n| http://testphp.vulnweb.com/ |\r\n+-----------------------------+---------------------+--------+-----------------------------------+-----------------------+--------+--------------------------+-------+-------+-----------+----------+\r\n| target | path | status | redirect | title | length | content-type | lines | words | type | mark |\r\n+-----------------------------+---------------------+--------+-----------------------------------+-----------------------+--------+--------------------------+-------+-------+-----------+----------+\r\n| http://testphp.vulnweb.com/ | .idea/workspace.xml | 200 | | | 12437 | text/xml | 217 | 774 | check | |\r\n| http://testphp.vulnweb.com/ | admin | 301 | http://testphp.vulnweb.com/admin/ | 301 Moved Permanently | 169 | text/html | 8 | 11 | folder | 30x |\r\n| http://testphp.vulnweb.com/ | login.php | 200 | | login page | 5009 | text/html | 120 | 432 | check | |\r\n| http://testphp.vulnweb.com/ | .idea/.name | 200 | | | 6 | application/octet-stream | 1 | 1 | check | |\r\n| http://testphp.vulnweb.com/ | .idea/vcs.xml | 200 | | | 173 | text/xml | 8 | 13 | check | |\r\n| http://testphp.vulnweb.com/ | .idea/ | 200 | | Index of /.idea/ | 937 | text/html | 14 | 46 | whitelist | index of |\r\n| http://testphp.vulnweb.com/ | cgi-bin/ | 403 | | 403 Forbidden | 276 | text/html | 10 | 28 | folder | 403 |\r\n| http://testphp.vulnweb.com/ | .idea/encodings.xml | 200 | | | 171 | text/xml | 6 | 11 | check | |\r\n| http://testphp.vulnweb.com/ | search.php | 200 | | search | 4218 | text/html | 104 | 364 | check | |\r\n| http://testphp.vulnweb.com/ | product.php | 200 | | picture details | 4576 | text/html | 111 | 377 | check | |\r\n| http://testphp.vulnweb.com/ | admin/ | 200 | | Index of /admin/ | 248 | text/html | 8 | 16 | whitelist | index of |\r\n| http://testphp.vulnweb.com/ | .idea | 301 | http://testphp.vulnweb.com/.idea/ | 301 Moved Permanently | 169 | text/html | 8 | 11 | folder | 30x |\r\n+-----------------------------+---------------------+--------+-----------------------------------+-----------------------+--------+--------------------------+-------+-------+-----------+----------+```\r\n```\r\n\r\nJson\r\n```Json\r\n{\r\n \"result\": [\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \".idea/workspace.xml\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"\",\r\n \"length\": 12437,\r\n \"content_type\": \"text/xml\",\r\n \"lines\": 217,\r\n \"words\": 774,\r\n \"type\": \"check\",\r\n \"mark\": \"\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/.idea/workspace.xml\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \"admin\",\r\n \"status\": 301,\r\n \"redirect\": \"http://testphp.vulnweb.com/admin/\",\r\n \"title\": \"301 Moved Permanently\",\r\n \"length\": 169,\r\n \"content_type\": \"text/html\",\r\n \"lines\": 8,\r\n \"words\": 11,\r\n \"type\": \"folder\",\r\n \"mark\": \"30x\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/admin\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \"login.php\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"login page\",\r\n \"length\": 5009,\r\n \"content_type\": \"text/html\",\r\n \"lines\": 120,\r\n \"words\": 432,\r\n \"type\": \"check\",\r\n \"mark\": \"\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/login.php\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \".idea/.name\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"\",\r\n \"length\": 6,\r\n \"content_type\": \"application/octet-stream\",\r\n \"lines\": 1,\r\n \"words\": 1,\r\n \"type\": \"check\",\r\n \"mark\": \"\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/.idea/.name\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \".idea/vcs.xml\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"\",\r\n \"length\": 173,\r\n \"content_type\": \"text/xml\",\r\n \"lines\": 8,\r\n \"words\": 13,\r\n \"type\": \"check\",\r\n \"mark\": \"\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/.idea/vcs.xml\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \".idea/\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"Index of /.idea/\",\r\n \"length\": 937,\r\n \"content_type\": \"text/html\",\r\n \"lines\": 14,\r\n \"words\": 46,\r\n \"type\": \"whitelist\",\r\n \"mark\": \"index of\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/.idea/\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \"cgi-bin/\",\r\n \"status\": 403,\r\n \"redirect\": \"\",\r\n \"title\": \"403 Forbidden\",\r\n \"length\": 276,\r\n \"content_type\": \"text/html\",\r\n \"lines\": 10,\r\n \"words\": 28,\r\n \"type\": \"folder\",\r\n \"mark\": \"403\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/cgi-bin/\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \".idea/encodings.xml\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"\",\r\n \"length\": 171,\r\n \"content_type\": \"text/xml\",\r\n \"lines\": 6,\r\n \"words\": 11,\r\n \"type\": \"check\",\r\n \"mark\": \"\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/.idea/encodings.xml\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \"search.php\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"search\",\r\n \"length\": 4218,\r\n \"content_type\": \"text/html\",\r\n \"lines\": 104,\r\n \"words\": 364,\r\n \"type\": \"check\",\r\n \"mark\": \"\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/search.php\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \"product.php\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"picture details\",\r\n \"length\": 4576,\r\n \"content_type\": \"text/html\",\r\n \"lines\": 111,\r\n \"words\": 377,\r\n \"type\": \"check\",\r\n \"mark\": \"\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/product.php\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \"admin/\",\r\n \"status\": 200,\r\n \"redirect\": \"\",\r\n \"title\": \"Index of /admin/\",\r\n \"length\": 248,\r\n \"content_type\": \"text/html\",\r\n \"lines\": 8,\r\n \"words\": 16,\r\n \"type\": \"whitelist\",\r\n \"mark\": \"index of\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/admin/\"\r\n },\r\n {\r\n \"target\": \"http://testphp.vulnweb.com/\",\r\n \"path\": \".idea\",\r\n \"status\": 301,\r\n \"redirect\": \"http://testphp.vulnweb.com/.idea/\",\r\n \"title\": \"301 Moved Permanently\",\r\n \"length\": 169,\r\n \"content_type\": \"text/html\",\r\n \"lines\": 8,\r\n \"words\": 11,\r\n \"type\": \"folder\",\r\n \"mark\": \"30x\",\r\n \"subdomain\": \"testphp.vulnweb.com\",\r\n \"depth\": 0,\r\n \"url\": \"http://testphp.vulnweb.com/.idea\"\r\n }\r\n ],\r\n \"total\": 12,\r\n \"target\": \"http://testphp.vulnweb.com/\"\r\n}\r\n```\r\n\r\nWordlists (IMPORTANT)\r\n---------------\r\n**Summary:**\r\n - Wordlist is a text file, each line is a path.\r\n - About extensions, Afuzz replaces the `%EXT%` keyword with extensions from **-e** flag.If no flag -e, the default is used.\r\n - Generate a dictionary based on domain names. Afuzz replaces %subdomain% with host, %rootdomain% with root domain, %sub% with subdomain, and %domain% with domain. And generated according to %ext%\r\n \r\n**Examples:**\r\n\r\n- Normal extensions\r\n```\r\nindex.%EXT%\r\n```\r\n\r\nPassing **asp** and **aspx** extensions will generate the following dictionary:\r\n\r\n```\r\nindex\r\nindex.asp\r\nindex.aspx\r\n```\r\n\r\n- host\r\n\r\n```\r\n%subdomain%.%ext%\r\n%sub%.bak\r\n%domain%.zip\r\n%rootdomain%.zip\r\n```\r\n\r\nPassing **https://test-www.hackerone.com** and **php** extension will genrate the following dictionary:\r\n\r\n```\r\ntest-www.hackerone.com.php\r\ntest-www.zip\r\ntest.zip\r\nwww.zip\r\ntestwww.zip\r\nhackerone.zip\r\nhackerone.com.zip\r\n```\r\n\r\nOptions\r\n-------\r\n\r\n```\r\n # ###### ### ### ###### ######\r\n # # # # # # # # #\r\n # # # # # # # # # #\r\n # # ### # # # #\r\n # # # # # # # #\r\n ##### # # # # # # #\r\n # # # # # # # # #\r\n### ### ### ### ###### ######\r\n\r\n\r\n\r\nusage: afuzz [options]\r\n\r\nAn Automated Web Path Fuzzing Tool.\r\nBy RapidDNS (https://rapiddns.io)\r\n\r\noptions:\r\n -h, --help show this help message and exit\r\n -u URL, --url URL Target URL\r\n -o OUTPUT, --output OUTPUT\r\n Output file\r\n -e EXTENSIONS, --extensions EXTENSIONS\r\n Extension list separated by commas (Example: php,aspx,jsp)\r\n -t THREAD, --thread THREAD\r\n Number of threads\r\n -d DEPTH, --depth DEPTH\r\n Maximum recursion depth\r\n -w WORDLIST, --wordlist WORDLIST\r\n wordlist\r\n -f, --fullpath fullpath\r\n -p PROXY, --proxy PROXY\r\n proxy, (ex:http://127.0.0.1:8080)\r\n```\r\n\r\nHow to use\r\n---------------\r\n\r\nSome examples for how to use Afuzz - those are the most common arguments. If you need all, just use the **-h** argument.\r\n\r\n### Simple usage\r\n```\r\nafuzz -u https://target\r\n```\r\n\r\n```\r\nafuzz -e php,html,js,json -u https://target\r\n```\r\n\r\n```\r\nafuzz -e php,html,js -u https://target -d 3\r\n```\r\n\r\n### Threads\r\nThe thread number (**-t | --threads**) reflects the number of separated brute force processes. And so the bigger the thread number is, the faster afuzz runs. By default, the number of threads is 10, but you can increase it if you want to speed up the progress.\r\n\r\nIn spite of that, the speed still depends a lot on the response time of the server. And as a warning, we advise you to keep the threads number not too big because it can cause DoS.\r\n\r\n```\r\nafuzz -e aspx,jsp,php,htm,js,bak,zip,txt,xml -u https://target -t 50\r\n```\r\n\r\n----\r\n### Blacklist\r\nThe **blacklist.txt** and **bad_string.txt** files in the /db directory are blacklists, which can filter some pages\r\n\r\nThe **blacklist.txt** file is the same as dirsearch. \r\n\r\nThe **bad_stirng.txt** file is a text file, one per line. The format is position==content. With == as the separator, position has the following options: header, body, regex, title\r\n\r\n----\r\n### Language detection\r\n\r\nThe **language.txt** is the detection language rule, the format is consistent with **bad_string.txt**. Development language detection for website usage.\r\n\r\n\r\nReferences\r\n---------------\r\nThanks to open source projects for inspiration\r\n\r\n- [Dirsearch](ttps://github.com/maurosoria/dirsearch) by by Shubham Sharma\r\n- [wfuzz](https://github.com/xmendez/wfuzz) by Xavi Mendez\r\n- [arjun](https://github.com/s0md3v/Arjun) by Somdev Sangwan\r\n",
"bugtrack_url": null,
"license": "",
"summary": "Afuzz",
"version": "0.1.12",
"project_urls": {
"Homepage": "https://github.com/rapiddns"
},
"split_keywords": [
"afuzz",
"bug bounty",
"http",
"pentesting",
"security"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f4074a40e81e47779e53630c9bb54ee2a797385c527bacf20a99d393c05bf0fc",
"md5": "fcd4c52c72a7fc6e42b28ba4d50f77df",
"sha256": "b63659b478e97edec3bb49b68af11fbe654b728feccfb3faaed93585a1a2fb26"
},
"downloads": -1,
"filename": "Afuzz-0.1.12.tar.gz",
"has_sig": false,
"md5_digest": "fcd4c52c72a7fc6e42b28ba4d50f77df",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 45549,
"upload_time": "2023-07-15T05:50:04",
"upload_time_iso_8601": "2023-07-15T05:50:04.233890Z",
"url": "https://files.pythonhosted.org/packages/f4/07/4a40e81e47779e53630c9bb54ee2a797385c527bacf20a99d393c05bf0fc/Afuzz-0.1.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-15 05:50:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "afuzz"
}