Hashtag-Fuzz -это инструмент для пузырьков, предназначенный для тестирования и обхода WAF и CDN. Используя расширенные функции, такие как случайный пользовательский агент и ценность заголовка, случайные задержки, обработка многопоточности, выборочный подъем списков слов и круглое вращение прокси-сервера для каждой серии, он предлагает надежное решение для профессионалов безопасности, стремящихся идентифицировать уязвимости в веб-приложениях. Этот инструмент выделяется почти первым и лучшим в своем классе для тестирования WAF о скорости и ограничениях.
Разрешить приложение для глобального доступа в ОС, если не нужна Global, положите ту же папку с этим сценарием, тогда:
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 с общими механизмами защиты. Подходит для тестирования общего назначения. |
| профиль | Усовершенствованный профиль WAF с более сложными механизмами защиты. Подходит для тестирования против WAF профессионального класса. |
| основной | Премиальный профиль WAF с самым высоким уровнем защиты. Подходит для тестирования против WAFS Enterprise. |
Хэштег-Фузз поддерживает четыре режима WAF, каждый из которых предлагает уникальные функции и конфигурации:
| Режим | Управляющие потоки для пузырьки | Управлять случайной задержкой | Случайный пользовательский агент и заголовки | Размер расщепленного Wordliost |
|---|---|---|---|---|
| вход | Основное управление потоком, ограниченные 20 потоков | Минимальная задержка, случайные задержки между 0,1-0,2 с | Случайный пользовательский агент и рандомизация 3 верхних заголовков для моделирования внутренней сети | разделен Worlist на 250 кусков |
| общий | Улучшенное управление потоками, ограниченные 10 потоков | Вводит случайные задержки между 0,2-0,5 с. | Случайный пользовательский агент, рандомизация 6 верхних заголовков со случайным локальным/частным IP | разделен Worlist на 200 кусков |
| профиль | Усовершенствованное управление потоком, ограниченные 5 потоков | случайные задержки между запросами 0,5-1 с | Случайные пользовательские и рандомизационные заголовки с локальным/частным диапазоном | разделен Worlist на 100 кусков |
| основной | Максимальное управление потоком, ограниченное 1 потоки | Максимальная задержка, случайные задержки между 1-2 с | Наиболее полезные заголовки рандомизация и случайный пользовательский агент | разделен Worlist на 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 ' по умолчанию = 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Каждый раз, когда каждый кусок отправляется в Target, служба TOR перезапускается, а новый IP -
по умолчанию = socks5: //127.0.0.1: 9050 с использованием -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, вы можете написать ее как строку в/-дополнительный аргумент 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Случайная задержка по умолчанию в режиме 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