hashtag fuzz
Initial Release
主题模糊是一种模糊工具,旨在测试和绕过WAF和CDN。通过利用高级功能,例如随机用户代理和标题值,随机延迟,处理多线程,单词列表的选择性块以及每个分块的循环代理旋转,它为旨在识别Web应用程序漏洞的安全专业人员提供了强大的解决方案。该工具是WAF测试速率和限制的最初和最好的,也是最优秀的。
允许应用程序在OS中的全局访问,如果不希望全局使用此脚本相同的文件夹,则:
git clone https://github.com/Hashtag-AMIN/hashtag-fuzz.git
cd ./hashtag-fuzz
chmod +x ./hashtag-fuzz
./hashtag-fuzz所有使用的库都是内置的python库,无需pip;)
cp ./hashtag-fuzz /usr/local/sbin/该工具支持四个WAF模式,每种模式具有特定的配置:
| WAF模式 | 描述 |
|---|---|
| 入口 | 基本的WAF轮廓具有最小的保护机制。适用于初始测试。 |
| 常见的 | 标准WAF概况具有通用保护机制。适用于通用测试。 |
| Pro | 具有更复杂的保护机制的高级WAF配置文件。适用于针对专业级WAF的测试。 |
| 主要的 | 高级WAF配置文件具有最高的保护水平。适用于针对企业级WAF的测试。 |
标签 - fuzz支持四个WAF模式,每个WAF模式都提供独特的功能和配置:
| 模式 | 模糊的控制线 | 控制随机延迟 | 随机用户代理和标题 | cunck的大小分裂WordLiost |
|---|---|---|---|---|
| 入口 | 基本线程控制,有限的20个线程 | 最小延迟,随机延迟在0.1-0.2之间 | 随机用户代理和随机化3个模拟内部网络的顶级标题 | 分裂到250个块 |
| 常见的 | 改进的线程管理,有限的10个线程 | 引入0.2-0.5之间的随机延迟 | 随机用户代理,随机本地/私人IP随机6个顶级标题 | 将蠕虫分裂为200块 |
| Pro | 高级线程控制,有限的5个线程 | 请求之间的随机延迟0.5-1s | 带有本地/私人范围的随机用户代理和随机高效标头 | 分裂到100个大块 |
| 主要的 | 最大线程控制,有限1个线程 | 最大延迟,1-2S之间的随机延迟 | 最有用的标题随机化和随机用户代理 | 分裂到50个块 |
└─# ./hashtag-fuzz -h
__ __ __ ___
/ / / __ /'___
___ __ ___ ___ ,_ __ __ / __/ __ __ ____ ____
_ ` /'__` /',__ _ ` / /'__` /'_ `_____ ,__/ / /_ ,`/_ ,`
/ L._/__,/` _/ L._/ L _____ _ _ /_/ //_/ /_
_ _ __/._/____/ _ _ __ __/._ ____ ____/ _ ____/ /_/__/_/___
/_//_//__//_//___/ /_//_//__//__//_//___L /_/ /___/ /____//____/
/____/
_/__/
The wrapper of ffuf
The nightmare of WAFs & CDNs
https://github.com/Hashtag-AMIN/hashtag-fuzz
usage: hashtag-fuzz [-h] [-u URL] [-U URLS] [-request REQUEST_RAW]
[-H HEADER] [-b COOKIE] [-d DATA] [-X METHOD] -w WORDLIST
[-waf {entry,common,pro,prime}]
[-cs chunk_SIZE] [-t THREAD] [-p RANDOM_DELAY]
[-x [PROXY]] [-xf PROXY_FILE] [-tor [TOR]]
[-o OUTPUT] [-of {txt,csv}]
[-a ADDITIONAL_CMD] [-v]
hashtag-fuzz wrapper for FFUF.
options:
-h --help show this help message and exit
-u --url URL Target URL
-U --urls URLS File include List of Target URLs
-request --request-raw REQUEST_RAW
File Path to raw request [-request-proto is default: https,
if need to change with -a command: -a="-request-proto http"]
-H --header HEADER Custom headers to add to requests
-b --cookie COOKIE Cookies to add to requests
-d --data DATA Data to send with the request for POST/PUT/PATCH methods
-X --method METHOD HTTP method to use (e.g., GET, POST, PUT)
-w --wordlist WORDLIST
Path to wordlist
-waf --waf-mode {ENTRY,COMMON,PRO,PRIME}
WAF or CDN behavior mode: entry, common, pro, or prime
-cs --chunk-size chunk_SIZE
Split each wordlist with Chunk size, (default=300)
-t --thread THREAD threads use in ffuf (default=[select in waf mode])
-p --random-delay RANDOM_DELAY
random delay range use in ffuf (default=[select in waf mode])
-x --proxy PROXY Proxy server|servers to use (c)
-xf --proxy-file PROXY_FILE
Proxy servers file to use
-tor --tor TOR use Tor proxy with unique(dynamic) IP address for each chunk of wordlist
(default=socks5://127.0.0.1:9050)
-o --output OUTPUT Output file name of FFUF result
-of --output-format {TXT,CSV}
Output of FFUF brief and useful mode: txt, csv
-a --additional-cmd ADDITIONAL_CMD
Additional FFUF commands
-v --verbose verbose mode default: False
./hashtag-fuzz -u http://site.tld/FUZZ -w ./wordlist.txt -waf entry
./hashtag-fuzz -u http://site.tld/FUZZ -w ./wordlist.txt -waf pro -cs 10./hashtag-fuzz -request ./raw-req.txt -w ./wordlist.txt -waf common./hashtag-fuzz -U ./urls.txt -w ./wordlist.txt -waf entry -cs 50 -H " X-header: header-val "
./hashtag-fuzz -U ./urls.txt -w ./wordlist.txt -waf pro -H ' Authorization: value_token ' echo ' http://site.tld ' | ./hashtag-fuzz -w ./wordlist.txt -waf common -cs 15 -d " var1=FUZZ&var2=val2 " -X " PUT "
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 60 " X-header: FUZZ " -p ' 2-2.5 '
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf pro -b ' cookie=value_session ' default = http://127.0.0.0.1:8080 with use -x(用于burp),也是带有有效URL的多价值和代理文件。
echo ' http://site.tld/FUZZ ' | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 15 -t 50 -x
echo ' http://site.tld/FUZZ ' | ./hashtag-fuzz -w ./wordlist.txt -waf entry -x ' http://proxy1.com '
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf common -cs 15 " header: header-val " -x ' http://proxy1.com ' -x ' http://proxy2.com '
echo ' http://site.tld/FUZZ ' | ./hashtag-fuzz -w ./wordlist.txt -waf pro -cs 100 -xf ./proxy.txt每次发送到Target的每个块时,都会重新启动TOR服务并进行新的IP,因此需要在OS中添加TOR作为服务
default = socks5://127.0.0.1:9050 with use -tor(默认本地地址tor)
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 15 " header: header-val " -tor
echo ' http://test.it/FUZZ ' | ./hashtag-fuzz -w ./wordlist.txt -waf common -cs 80 -tor socks5://proxy1.tor:8000帮助并文档以在任何操作系统中添加TOR作为服务
如果需要在ffuf中添加一些命令,则可以将其写为-A/ - 附加CMD参数中的字符串
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf common -d " data-var=FUZZ " -X " PUT " -a= " -mr '.*test' "
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 15 -tor -a= ' -ac ' 如果您想要模糊,但请要求高速率WAF或CDN块,请一起使用这些技术
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 20 -tor
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 30 -xf ./proxy.txt在1-2之间的prime模式下默认随机延迟,但有时需要自定义:
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 10 -tor -p ' 2-2.5 '默认情况下,句柄线程也可以扭曲它:
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf pro -cs 5 -tor -p ' 2.5-3 ' -t 1使用此功能的一个有用的关注点,使用Wirh Paramspider或Paramspider
" urls_come_form_ParamSpider_with_FUZZ_keyword " | ./hashtag-fuzz -w ./wordlist.txt -waf pro -cs 50 -tor