Hashtag-Fuzz ist ein Fuzzing-Tool, das zum Testen und Umgehenden von Wafs und CDNs entwickelt wurde. Durch die Nutzung erweiterter Funktionen wie zufälliges Benutzer-Agent- und Header-Wert, zufällige Verzögerungen, Multi-Threading, selektives Chunking von Wordlisten und Rund-Robin-Proxy-Rotation für jedes Teilen bietet es eine robuste Lösung für Sicherheitsfachleute, mit denen Sicherheitsfachleute in Webanwendungen identifiziert werden können. Dieses Tool ist das fast erste und beste in seiner Klasse für WAF -Tests über Rate und Grenzen.
Ermöglichen Sie die App zum globalen Zugriff im Betriebssystem, wenn global global mit diesem Skript denselben Ordner in denselben Ordner einfügen möchte, dann:
git clone https://github.com/Hashtag-AMIN/hashtag-fuzz.git
cd ./hashtag-fuzz
chmod +x ./hashtag-fuzz
./hashtag-fuzzAlle verwendeten Bibliothek sind integrierte Python-Bibliothek, keine Notwendigkeit, PIP;)
cp ./hashtag-fuzz /usr/local/sbin/Das Tool unterstützt vier WAF -Modi mit jeweils spezifischen Konfigurationen:
| WAF -Modi | Beschreibung |
|---|---|
| Eintrag | Grundes WAF -Profil mit minimalen Schutzmechanismen. Geeignet für erste Tests. |
| gemeinsam | Standard -WAF -Profil mit gemeinsamen Schutzmechanismen. Geeignet für allgemeine Tests. |
| pro | Fortgeschrittenes WAF -Profil mit ausgefeilteren Schutzmechanismen. Geeignet zum Testen gegen WAFs in professioneller Qualität. |
| Prime | Premium -WAF -Profil mit dem höchsten Schutzniveau. Geeignet zum Testen gegen WAFs für Unternehmensgröße. |
Hashtag-Fuzz unterstützt vier WAF-Modi, die einzigartige Funktionen und Konfigurationen bieten:
| Modus | Steuerthreads zum Fuzzieren | Steuerverzögerung kontrollieren | Zufällige Benutzer-Agent & Header | Cunckgröße von geteiltem Wordliost |
|---|---|---|---|---|
| Eintrag | Grundfadensteuerung, begrenzte 20 Threads | Minimale Verzögerung, zufällige Verzögerungen zwischen 0,1-0,2s | Zufällige Benutzer-Agent und Randomisierung 3 Top-Header für das Simulieren des internen Netzwerks | Aufgeteilt auf 250 Stücke |
| gemeinsam | Verbesserte Fadenverwaltung, begrenzte 10 Threads | Führt zufällige Verzögerungen zwischen 0,2 und 0,5s ein | Zufällige Benutzer-Agent, Randomisierung 6 Top-Header mit zufälliger lokaler/privater IP | Spalt auf 200 Stücke aufgeteilt |
| pro | Erweiterte Threadsteuerung, begrenzte 5 Threads | Zufällige Verzögerungen zwischen Anforderungen 0,5-1s | Zufällige Benutzer-Agent und Randomisierung effiziente Header mit lokalem/privatem Bereich | Aufgeteilt auf 100 Stücke |
| Prime | Maximale Gewindesteuerung, begrenzte 1 Threads | Maximale Verzögerung, zufällige Verzögerungen zwischen 1-2s | Nützlichste Header-Randomisierung und zufällige Benutzer-Agent | Aufgeteilt auf 50 Stücke |
└─# ./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 mit Verwendung -x (für BURP), auch Multi -Wert- und Proxy -Datei mit gültigen URLs.
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.txtJedes Mal, wenn jedes an Target gesendete Stück an Target gesendet wird, wird der TOR -Dienst neu gestartet und neu in der IP in Annahme. Müssen Sie also als Service im Betriebssystem hinzufügen
default = socks5: //127.0.0.1: 9050 mit Verwendung -tor (für die Standard -Lokaladresse 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:8000Hilfe und Dokumente zum Hinzufügen von TOR als Service in jedem Betriebssystem
Wenn Sie in FFUF einen Befehl hinzufügen müssen, können Sie ihn als Zeichenfolge in -a/-zusätzlichem CMD-Argument schreiben
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 ' Wenn Sie Fuzz, aber WAF- oder CDN -Block in hoher Anfrage möchten, verwenden Sie diese Techniken zusammen
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.txtStandard-Zufallsverzögerung im Prime-Modus zwischen 1-2, aber irgendwann müssen sich anpassen:
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 10 -tor -p ' 2-2.5 'Standardmäßig handle Threads, können es aber auch verunressten:
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf pro -cs 5 -tor -p ' 2.5-3 ' -t 1Wenn Sie diese Funktion verwenden, verwenden Sie den WIRH -Paramspider oder Paramspider
" urls_come_form_ParamSpider_with_FUZZ_keyword " | ./hashtag-fuzz -w ./wordlist.txt -waf pro -cs 50 -tor