Hashtag-Fuzz es una herramienta borrosa diseñada para probar y evitar WAFS y CDN. Al aprovechar las características avanzadas, como el agente de usuario aleatorio y el valor de encabezado, retrasos aleatorios, manejar la figura de múltiples subprocesos, fragmentos selectivos de listas de palabras y rotación de proxy de robin redondeo para cada fragmentación, ofrece una solución robusta para profesionales de seguridad que apuntan a identificar vulnerabilidades en aplicaciones web. Esta herramienta se destaca como la primera y mejor de su clase para las pruebas de WAF sobre la velocidad y los límites.
Permitir que la aplicación sea el acceso global en el sistema operativo, si no quiere global, coloque la misma carpeta con este script, entonces:
git clone https://github.com/Hashtag-AMIN/hashtag-fuzz.git
cd ./hashtag-fuzz
chmod +x ./hashtag-fuzz
./hashtag-fuzzToda la biblioteca utilizada es la biblioteca de Python incorporada, sin necesidad de pip;)
cp ./hashtag-fuzz /usr/local/sbin/La herramienta admite cuatro modos WAF, cada uno con configuraciones específicas:
| Modos de WAF | Descripción |
|---|---|
| entrada | Perfil de WAF básico con mecanismos de protección mínimos. Adecuado para pruebas iniciales. |
| común | Perfil de WAF estándar con mecanismos de protección comunes. Adecuado para pruebas de uso general. |
| pro | Perfil WAF avanzado con mecanismos de protección más sofisticados. Adecuado para pruebas contra WAF de grado profesional. |
| principal | Perfil de WAF premium con el más alto nivel de protección. Adecuado para pruebas contra WAF de grado empresarial. |
Hashtag-Fuzz admite cuatro modos WAF, cada uno que ofrece características y configuraciones únicas:
| Modo | Hilos de control para fuzzing | Control de retraso aleatorio | Agente de usuario aleatorio y encabezados | Tamaño de Cunck de Wordliost dividido |
|---|---|---|---|---|
| entrada | Control básico de hilos, 20 hilos limitados | Retraso mínimo, retrasos aleatorios entre 0.1-0.2s | Agente de usuario aleatorio y aleatorización 3 encabezados superiores para simular red interna | Lista de trabajo dividida a 250 trozos |
| común | Gestión mejorada de hilos, 10 hilos limitados | Presenta retrasos aleatorios entre 0.2-0.5s | Agente de usuario aleatorio, aleatorización 6 encabezados principales con IP local/privada aleatoria | Lista mundial dividida a 200 trozos |
| pro | Control avanzado de hilos, 5 hilos limitados | retrasos aleatorios entre solicitudes 0.5-1s | Encabezados eficientes de agente de usuario aleatorio y aleatorización con rango local/privado | Lista de trabajo dividida a 100 trozos |
| principal | Control de hilo máximo, hilos limitados 1 | Retraso máximo, retrasos aleatorios entre 1-2s | Aleatorización de encabezados más útiles y agente de usuario aleatorio | Lista de trabajo dividida a 50 trozos |
└─# ./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 ' predeterminado = http://127.0.0.1:8080 con use -x (para BURP), también un archivo de valor múltiple y proxy con URL válidas.
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.txtCada vez que cada fragmento se envía a Target, el servicio TOR se reinicia y se realiza una nueva IP, así que necesite agregar Tor como servicio en el sistema operativo
predeterminado = calcetines5: //127.0.0.1: 9050 con use -tor (para la dirección local predeterminada 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:8000Ayuda y documentos para agregar Tor como servicio en cualquier sistema operativo
Si necesita agregar algún comando en FFUF, puede escribirlo como cadena en -a/-argumento adicional-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 ' Si desea Fuzz pero Bloque WAF o CDN en alta tasa en solicitud, use estas técnicas juntos
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.txtRetraso aleatorio predeterminado en el modo Prime entre 1-2, pero en algún momento necesita personalizar:
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf prime -cs 10 -tor -p ' 2-2.5 'Por defecto, los subprocesos de manejo, pero también pueden contactarlo:
cat ./urls.txt | ./hashtag-fuzz -w ./wordlist.txt -waf pro -cs 5 -tor -p ' 2.5-3 ' -t 1Un seguimiento útil para usar esta función, use WIRH Paramspider o Paramspider
" urls_come_form_ParamSpider_with_FUZZ_keyword " | ./hashtag-fuzz -w ./wordlist.txt -waf pro -cs 50 -tor