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