Hashtag-Fuzz هي أداة غامضة مصممة لاختبار وتجاوز WAFs و CDNs. من خلال الاستفادة من الميزات المتقدمة مثل وكيل المستخدم العشوائي وقيمة الرأس ، والتأخيرات العشوائية ، والتعامل مع التقطيع المتعددة ، والانتقائية من قوائم الكلمات وتناوب وكيل Robin المستدير لكل قطعة ، فإنه يوفر حلًا قويًا لأخصائيي الأمان يهدف إلى تحديد نقاط الضعف في تطبيقات الويب. تبرز هذه الأداة كأول وأفضل في فصلها لاختبار WAF حول معدل وحدود.
السماح للتطبيق بالوصول العالمي في نظام التشغيل ، إذا كنت لا تريد أن تضعه في نفس المجلد مع هذا البرنامج النصي ، ثم:
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 المتقدم مع آليات حماية أكثر تطورا. مناسبة للاختبار ضد WAFs من الدرجة المهنية. |
| برايم | ملف تعريف WAF متميز مع أعلى مستوى من الحماية. مناسبة للاختبار ضد WAFS من الدرجة المؤسسة. |
يدعم علامة التجزئة 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 | Max Delay ، تأخير عشوائي بين 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 ' الافتراضي = http://127.0.0.1:8080 مع استخدام -X (للتجشير) ، وأيضًا ملف متعدد القيمة وملف وكيل مع عناوين 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 كخدمة في نظام التشغيل
الافتراضي = 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 ' إذا كنت تريد الزغب ولكن 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 ، ولكن في وقت ما تحتاج إلى تخصيص:
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