
مُفَجِّر عالي الأداء من النوع الصندوق الأسود لتطبيقات الويب، مع محرك حمولات مدمج، والتحقق من الطلبات، والتلاعب، والتشفير، والتصفية المتقدمة لكشف السلوكيات والثغرات المخفية.
</ المزايا | الميزات | التثبيت | الاستخدام | المجتمع >
Firefly هو أداة اختبار اختراق متقدمة من النوع الصندوق الأسود (black‑box fuzzer)، وليس مجرد أداة لاكتشاف الأصول. يمنحك Firefly ميزة اختبار هدف مع عدد كبير من الفحوصات المدمجة لاكتشاف السلوكيات في الهدف.
go install -v github.com/Brum3ns/firefly/cmd/firefly@latest
أو
go get -v github.com/Brum3ns/firefly/cmd/firefly
firefly -h
firefly -u 'http://example.com/?query=FUZZ'
أنواع مختلفة من مدخلات الطلب التي يمكن استخدامها
أساسي
firefly -u 'http://example.com/?query=FUZZ' --timeout 7000
طلب مع أساليب وبروتوكولات مختلفة
firefly -u 'http://example.com/?query=FUZZ' -m GET,POST,PUT -p https,http,ws
echo 'http://example.com/?query=FUZZ' | firefly
firefly -r '
GET /?query=FUZZ HTTP/1.1
Host: example.com
User-Agent: FireFly'
سيؤدي هذا إلى إرسال طلب HTTP خام واكتشاف جميع معاملات GET و/أو POST تلقائياً لاختبار الاختراق.
firefly -r '
POST /?A=1 HTTP/1.1
Host: example.com
User-Agent: Firefly
X-Host: FUZZ
B=2&C=3' -au replace
مدقق الطلب هو الجزء الأكثر أهمية. تتيح هذه الميزة لـ Firefly معرفة السلوك الأساسي للهدف الذي تختبره. من المهم التركيز على الجودة وليس الكمية. المزيد من طلبات التحقق سيؤدي إلى جودة أفضل على حساب أداء الأجهزة الداخلية (اعتماداً على جهازك)
firefly -u 'http://example.com/?query=FUZZ' -e
يمكن تخصيص الحمولات بشكل كبير، ومع وجود قائمة كلمات أساسية جيدة، يمكن التكيف بالكامل مع قائمة كلمات الحمولة داخل Firefly نفسه.
عرض تنسيق جميع الحمولات ثم الخروج
firefly -show-payload
قائمة بجميع المُعدِّلات المتاحة
firefly -list-tamper
تعديل جميع الحمولات بنوع معين (يمكن استخدام أكثر من واحد مفصولاً بفاصلة)
firefly -u 'http://example.com/?query=FUZZ' -e s2c
firefly -u 'http://example.com/?query=FUZZ' -e hex
ترميز سداسي عشري ثم ترميز URL لجميع الحمولات
firefly -u 'http://example.com/?query=FUZZ' -e hex,url
firefly -u 'http://example.com/?query=FUZZ' -pr '\([0-9]+=[0-9]+\) => (13=(37-24))'
الحمولات:
' or (1=1)-- -و" or(20=20)or "ستتحول إلى:' or (13=(37-24))-- -و" or(13=(37-24))or "حيث يشير=>(مع فراغات) إلى "استبدل بـ".
خيارات التصفية لتصفية/مطابقة الطلبات التي تتضمن قاعدة معينة.
تصفية الاستجابات لتجاهل (تصفية) رمز الحالة 302 و عدد الأسطر 0
firefly -u 'http://example.com/?query=FUZZ' -fc 302 -fl 0
تصفية الاستجابات لتضمين (مطابقة) تعبير منتظم و رمز الحالة 200
firefly -u 'http://example.com/?query=FUZZ' -mr '[Ee]rror (at|on) line \d' -mc 200
firefly -u 'http://example.com/?query=FUZZ' -mr 'MySQL' -mc 200
الأداء والتأخيرات الزمنية لاستخدامها في عملية الطلب
الخيوط / التزامن
firefly -u 'http://example.com/?query=FUZZ' -t 35
تأخير زمني بالميلي ثانية (مللي) لكل تزامن
FireFly -u 'http://example.com/?query=FUZZ' -t 35 -dl 2000
قائمة الكلمات التي تحتوي على الحمولات يمكن إضافتها بشكل منفصل أو استخراجها من مجلد معين
قائمة كلمات واحدة مع نوع هجومها
firefly -u 'http://example.com/?query=FUZZ' -w wordlist.txt:fuzz
استخراج جميع قوائم الكلمات داخل مجلد. يعتمد نوع الهجوم على اللاحقة <type>_wordlist.txt
firefly -u 'http://example.com/?query=FUZZ' -w wl/
مثال
أسماء قوائم الكلمات داخل المجلد
wl:
- fuzz_wordlist.txt
- time_wordlist.txt
يُوصى بشدة باستخدام مخرجات JSON. وذلك لأنه يمكنك الاستفادة من أداة
jqللتنقل بين النتائج ومقارنتها.
(إذا كان Firefly متسلسلاً مع أدوات أخرى عبر خط الأنابيب، فقد يكون النص العادي العادي خياراً أفضل.)
تنسيق مخرجات نص عادي بسيط
firefly -u 'http://example.com/?query=FUZZ' -o file.txt
تنسيق مخرجات JSON (موصى به)
firefly -u 'http://example.com/?query=FUZZ' -oJ file.json
يُسمح للجميع في المجتمع باقتراح ميزات جديدة أو تحسينات أو إضافة حمولات جديدة إلى Firefly؛只需 قم بتقديم طلب سحب (pull request) أو أضف تعليقاً مع اقتراحاتك!