شرح ffuf بالعربي: الدليل الكامل لـ Fuzzing في Bug Bounty
4 أكتوبر 2026 · بواسطة Pentevo
ffuf (Fuzz Faster U Fool) هي الأداة الأسرع والأكثر مرونة للـ Fuzzing في Bug Bounty. تستخدمها لاكتشاف Directories المخفية، Parameters، Virtual Hosts، وأكثر.
التثبيت
# الطريقة 1: عبر Go (موصى بها)
go install github.com/ffuf/ffuf/v2@latest
# الطريقة 2: تحميل ثنائي مباشر (Linux)
wget https://github.com/ffuf/ffuf/releases/latest/download/ffuf_2.1.0_linux_amd64.tar.gz
tar -xzf ffuf_2.1.0_linux_amd64.tar.gz
mv ffuf /usr/local/bin/
# تحقق من التثبيت
ffuf -V
الأساسيات: FUZZ Keyword
ffuf يستبدل كلمة FUZZ في أي مكان بالقيم من الـ Wordlist:
ffuf -w wordlist.txt -u https://example.com/FUZZ
1. Directory و File Discovery
# بسيط
ffuf -w /usr/share/seclists/Discovery/Web-Content/common.txt \
-u https://example.com/FUZZ
# مع تصفية 404
ffuf -w common.txt -u https://example.com/FUZZ -fc 404
# مع امتدادات ملفات
ffuf -w common.txt \
-u https://example.com/FUZZ \
-e .php,.asp,.aspx,.txt,.bak,.old,.conf \
-fc 404
# تكراري (Recursive) - يفحص المجلدات المكتشفة
ffuf -w common.txt \
-u https://example.com/FUZZ \
-recursion -recursion-depth 3 \
-fc 404
# أسرع مع threads متعددة
ffuf -w medium.txt \
-u https://example.com/FUZZ \
-t 100 \
-fc 404,400,403
2. Parameter Discovery (GET)
# اكتشاف Parameters مخفية
ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt \
-u "https://example.com/api/user?FUZZ=test" \
-fc 400
# اكتشاف قيمة parameter
ffuf -w /usr/share/seclists/Fuzzing/LFI/LFI-Jhaddix.txt \
-u "https://example.com/page?file=FUZZ" \
-fc 200 # نريد ما يختلف عن 200 الطبيعي
3. POST Data Fuzzing
# Fuzzing في POST body
ffuf -w usernames.txt \
-u https://example.com/login \
-X POST \
-d "username=FUZZ&password=test123" \
-H "Content-Type: application/x-www-form-urlencoded" \
-fc 401
# JSON body fuzzing
ffuf -w passwords.txt \
-u https://api.example.com/login \
-X POST \
-d '{"username":"admin","password":"FUZZ"}' \
-H "Content-Type: application/json" \
-fc 401
# مع Cookie (للصفحات التي تحتاج مصادقة)
ffuf -w api-endpoints.txt \
-u https://example.com/api/FUZZ \
-H "Cookie: session=YOUR_SESSION" \
-fc 403,404
4. Virtual Host (VHost) Enumeration
# اكتشاف VHosts على نفس IP
ffuf -w subdomains.txt \
-u https://192.168.1.1/ \
-H "Host: FUZZ.example.com" \
-fc 404 \
-fs 1234 # تصفية بحجم الاستجابة الافتراضي
5. فلترة النتائج
# الفلاتر الأساسية
-fc 404,400,403 # فلترة بالـ Status Code
-fs 1234 # فلترة بالحجم (Size) - مفيد جدًا
-fl 50 # فلترة بعدد السطور (Lines)
-fw 10 # فلترة بعدد الكلمات (Words)
-fr "Not Found" # فلترة بـ Regex في الـ Response
# عكس الفلترة (إظهار فقط)
-mc 200 # إظهار 200 فقط
-ms 1500 # إظهار حجم 1500 فقط
-ml 100 # إظهار 100 سطر فقط
-mr "admin" # إظهار الاستجابات التي تحتوي "admin"
6. تحديد المعدل وتجنب الحجب
# تحديد عدد الطلبات في الثانية
ffuf -w wordlist.txt -u https://example.com/FUZZ -rate 50
# Delay بين الطلبات (بالمللي ثانية)
ffuf -w wordlist.txt -u https://example.com/FUZZ -p 0.1
# عدد الـ Threads
ffuf -w wordlist.txt -u https://example.com/FUZZ -t 50 # الافتراضي 40
7. حفظ النتائج
# JSON output
ffuf -w wordlist.txt -u https://example.com/FUZZ \
-o results.json -of json
# CSV output
ffuf -w wordlist.txt -u https://example.com/FUZZ \
-o results.csv -of csv
# HTML output (للتقارير)
ffuf -w wordlist.txt -u https://example.com/FUZZ \
-o results.html -of html
أفضل Wordlists لكل سيناريو
# تثبيت SecLists
git clone https://github.com/danielmiessler/SecLists /usr/share/seclists
# Directories
/usr/share/seclists/Discovery/Web-Content/common.txt # 4,686 entries
/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt # 220,560 entries
# API Endpoints
/usr/share/seclists/Discovery/Web-Content/api/api-endpoints.txt
/usr/share/seclists/Discovery/Web-Content/api/objects.txt
# Parameters
/usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt
# Subdomains
/usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
/usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt
# Passwords
/usr/share/seclists/Passwords/Common-Credentials/10k-most-common.txt
Workflow عملي لـ Bug Bounty
# 1. ابدأ بـ common.txt السريع
ffuf -w common.txt -u https://example.com/FUZZ -fc 404 -t 100 -o quick.json
# 2. افحص نتائج السريع
cat quick.json | jq '.results[] | .url'
# 3. إذا وجدت /api/ مثلًا، أعمق
ffuf -w api-wordlist.txt -u https://example.com/api/FUZZ \
-H "Authorization: Bearer TOKEN" -fc 404,405
# 4. للـ Parameters على endpoints مكتشفة
ffuf -w params.txt -u "https://example.com/api/user?FUZZ=1" \
-H "Authorization: Bearer TOKEN" -fc 400
الخلاصة
ffuf هو مرافقك الدائم في Bug Bounty. أتقن الفلترة بـ -fc و-fs للحصول على نتائج نظيفة. ابدأ بـ wordlists صغيرة وسريعة، ثم وسّع إذا لزم. مع SecLists وffuf معًا، لن تحتاج أداة Directory discovery أخرى.
الأسئلة الشائعة
ما الفرق بين ffuf وdirbuster وgobuster؟
ffuf هو الأسرع والأكثر مرونة. Gobuster جيد لكنه أبطأ. Dirbuster قديم وبطيء. استخدم ffuf لكل شيء تقريبًا.
ما أفضل Wordlist لـ Directory Fuzzing؟
SecLists هي المعيار. ابدأ بـ common.txt (4,600 entry) للسرعة، أو directory-list-2.3-medium.txt (220,000 entry) للشمولية.
هل ffuf يستخدم موارد كثيرة؟
يمكن التحكم في معدل الطلبات بـ -rate. لـ Bug Bounty، لا ترسل أكثر من 100-200 request/second لتجنب حجب IP.
مقالات ذات صلة
أدوات Bug Bounty الأساسية التي يستخدمها المحترفون في 2026
قائمة شاملة بأفضل أدوات Bug Bounty: Burp Suite وffuf وnuclei وsubfinder وhttpx — مع شرح عملي لكيفية استخدام كل أداة.
toolsLinux للهاكرز: الأوامر الأساسية التي يجب أن يعرفها كل باحث أمني
دليل Linux المتخصص لاختبار الاختراق: أوامر الشبكة، إدارة الملفات، البرمجة النصية، وأدوات Kali Linux الأساسية التي تحتاجها يوميًا.
toolsشرح nuclei بالعربي: أقوى أداة مسح للثغرات في Bug Bounty
دليل شامل لاستخدام nuclei في Bug Bounty: كيف تُشغّله، أفضل القوالب، كيف تكتب قوالب مخصصة، وكيف تُدمجه في سير عمل Recon احترافي.
طبّق هذا عمليًا
أكاديمية Pentevo تحوّل هذه المفاهيم إلى دروس موجّهة وفيديوهات واختبارات — مجانًا.
ابدأ التعلّم مجانًا