
أداة بلغة Golang تساعد في إزالة الإدخالات غير ذات الصلة من ملف نتائج ffuf الخاص بك.
لسوء الحظ - على الرغم من العلمة "-ac"، يميل ffuf إلى إنتاج الكثير من الإدخالات غير ذات الصلة. لهذا السبب أنشأت أداة معالجة لاحقة لتصفية تلك الإدخالات. بالإضافة إلى ذلك، لاحظت إزالة الكثير من الإدخالات ذات الصلة عند استخدام "-ac" - خاصة عندما يواجه ffuf ملفات json أو xml - فقد يقوم "-ac" بإسقاطها بالكامل. يجب تشغيل هذه الأداة بعد انتهاء ffuf. بالإضافة إلى ذلك، يجب تشغيل أمر ffuf الأولي مع العلامات التالية:
-o /folder/to/results.json
-od /folder/to/bodies
-of json (default)
يؤدي هذا إلى إجبار ffuf على كتابة ملف ملخص بتنسيق json بالإضافة إلى أجسام الاستجابات على القرص. إضافة "-od" ليست إلزامية ولكنها موصى بها.
أوصي بشدة بعدم استخدام العلم "-ac" - خاصة إذا كنت لا تريد تفويت أشياء رائعة وتريد استخدام أداة المعالجة اللاحقة هذه.
Usage of ./ffufPostprocessing:
-result-file string
Path to the original ffuf result file (in json format)
-bodies-folder string
Path to the ffuf bodies folder (optional, if set results will be better)
-new-result-file string
Path to the new ffuf result file (optional)
-delete-bodies
Delete unnecessary body files after filtering (optional)
-overwrite-result-file
Overwrite original result file (optional)
-verbose
Verbose mode (Shows currently filtered results) (optional)
قم أولاً بتشغيل ffuf كالمعتاد - استخدمت أمرًا بسيطًا جدًا:
./ffuf -u yourtarget.com/FUZZ -w /path/to/wordlist -o /tmp/ffuf/results.json -od /tmp/ffuf/bodies/ -of json
بعد تشغيله، يجب أن يكون لديك ملف النتائج بالإضافة إلى جميع الأجسام في المجلدات المحددة. حان الآن وقت تحليل البيانات وتصفية الإدخالات غير ذات الصلة:
./ffufPostprocessing -result-file /tmp/ffuf/results.json -bodies-folder /tmp/ffuf/bodies/ -delete-bodies -overwrite-result-file
خاصة عند تعيين -od، مما يعني أن لدينا جميع ترويسات http وأجسام كل عنوان url مطلوب - ستقوم هذه الأداة في البداية بتحليل جميع الأجسام وإثراء ملف نتائج json الأولي بنقاط البيانات التالية:
بعد ذلك، سيقوم بفحص ملف النتائج الجديد بالكامل والاحتفاظ فقط بالإدخالات الفريدة بناءً على أنواع البيانات الوصفية المعروفة. إذا اتضح أن إحدى تلك القيم مختلفة دائمًا (على سبيل المثال، يمكن أن يختلف عنوان الصفحات كثيرًا) - فسيتم تخطي هذا النوع من البيانات الوصفية في فحص التفرد.
بشكل عام، ستحتفظ هذه الأداة دائمًا بكمية صغيرة من الإدخالات التي ليست فريدة. على سبيل المثال، إذا كان ملف نتائج json يحتوي على 300x استجابة بحالة http status 403 (مع كلمات وطول ... متطابقة) واستجابتين فريدتين بحالة http status 200، فلن تقوم بإسقاط جميع إدخالات http status 403 البالغ عددها 300. ستحتفظ بـ X منها في مجموعة البيانات.
ffufPostprocessing يتطلب golang 1.19
cd ffufPostprocessing
go build -o dist/ffufPostprocessing main.go
لا يهمني. افعل ما تشاء بهذه الأداة.