Hashtag-Fuzz เป็นเครื่องมือฟัซซิงที่ออกแบบมาเพื่อทดสอบและข้าม WAFS และ CDN ด้วยการใช้ประโยชน์จากคุณสมบัติขั้นสูงเช่นค่าตัวแทนผู้ใช้แบบสุ่มและค่าส่วนหัวความล่าช้าแบบสุ่มจัดการมัลติเธรดการเลือกการเลือกของ WordLists และการหมุนรอบพร็อกซีโรบินสำหรับแต่ละ chunked มันเป็นโซลูชั่นที่แข็งแกร่งสำหรับผู้เชี่ยวชาญด้านความปลอดภัย เครื่องมือนี้โดดเด่นเกือบเป็นครั้งแรกและดีที่สุดในชั้นเรียนสำหรับการทดสอบ WAF เกี่ยวกับอัตราและขีด จำกัด
อนุญาตให้แอพเข้าสู่การเข้าถึงทั่วโลกในระบบปฏิบัติการหากไม่ต้องการให้ Global ใส่โฟลเดอร์เดียวกันกับสคริปต์นี้แล้ว:
git clone https://github.com/Hashtag-AMIN/hashtag-fuzz.git
cd ./hashtag-fuzz
chmod +x ./hashtag-fuzz
./hashtag-fuzzไลบรารีทั้งหมดที่ใช้คือ Library Python ในตัวไม่จำเป็นต้องใช้ PIP;)
cp ./hashtag-fuzz /usr/local/sbin/เครื่องมือรองรับสี่โหมด WAF แต่ละโหมดมีการกำหนดค่าเฉพาะ:
| โหมด WAF | คำอธิบาย |
|---|---|
| รายการ | โปรไฟล์ WAF ขั้นพื้นฐานที่มีกลไกการป้องกันน้อยที่สุด เหมาะสำหรับการทดสอบเบื้องต้น |
| ทั่วไป | โปรไฟล์ WAF มาตรฐานพร้อมกลไกการป้องกันทั่วไป เหมาะสำหรับการทดสอบอเนกประสงค์ทั่วไป |
| มืออาชีพ | โปรไฟล์ WAF ขั้นสูงที่มีกลไกการป้องกันที่ซับซ้อนมากขึ้น เหมาะสำหรับการทดสอบ WAFs เกรดมืออาชีพ |
| นายก | โปรไฟล์ WAF พรีเมี่ยมที่มีระดับสูงสุดของการป้องกัน เหมาะสำหรับการทดสอบกับ WAFs ระดับองค์กร |
Hashtag-Fuzz รองรับโหมด WAF สี่โหมดแต่ละคุณสมบัติและการกำหนดค่าที่ไม่ซ้ำกัน:
| โหมด | เธรดควบคุมสำหรับการฟุ่มเฟือย | ควบคุมความล่าช้าแบบสุ่ม | ผู้ใช้แบบสุ่มและส่วนหัว | ขนาด cunck ของ wordliost แยก |
|---|---|---|---|---|
| รายการ | การควบคุมเธรดพื้นฐาน จำกัด 20 เธรด | ความล่าช้าน้อยที่สุดความล่าช้าแบบสุ่มระหว่าง 0.1-0.2s | ผู้ใช้แบบสุ่มและการสุ่ม 3 ส่วนหัวบนสุดสำหรับจำลองเครือข่ายภายใน | แยกเป็น 250 ชิ้น |
| ทั่วไป | ปรับปรุงการจัดการเธรด จำกัด 10 เธรด | แนะนำความล่าช้าแบบสุ่มระหว่าง 0.2-0.5s | ผู้ใช้แบบสุ่มผู้ใช้สุ่ม 6 ส่วนหัวบนสุดที่มี IP แบบสุ่มในท้องถิ่น/ส่วนตัว | แยกเป็น 200 ชิ้น |
| มืออาชีพ | การควบคุมเธรดขั้นสูง จำกัด 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.1:8080 ด้วยการใช้ -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ทุกครั้งที่แต่ละก้อนส่งไปยังเป้าหมายบริการ TOR จะเริ่มต้นใหม่และ IP ใหม่ในการถ่ายดังนั้นต้องเพิ่ม TOR เป็นบริการในระบบปฏิบัติการ
default = socks5: //127.0.0.1: 9050 ด้วยการใช้งาน -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 ' หากคุณต้องการ Fuzz แต่บล็อก 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การล่าช้าแบบสุ่มเริ่มต้นในโหมด Prime ระหว่าง 1-2 แต่บางครั้งจำเป็นต้องปรับแต่ง:
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