
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 प्रारूप में एक सारांश फ़ाइल के साथ-साथ प्रतिक्रियाओं के bodies को डिस्क पर लिखने के लिए बाध्य करता है। "-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
इसे चलाने के बाद, आपके पास निर्दिष्ट फ़ोल्डरों में परिणाम फ़ाइल के साथ-साथ सभी bodies मौजूद होनी चाहिए। अब डेटा को पार्स करने और अप्रासंगिक प्रविष्टियों को फ़िल्टर करने का समय है:
./ffufPostprocessing -result-file /tmp/ffuf/results.json -bodies-folder /tmp/ffuf/bodies/ -delete-bodies -overwrite-result-file
विशेषकर जब -od सेट होता है, जिसका अर्थ है कि हमारे पास प्रत्येक अनुरोधित url के लिए सभी http headers और bodies होते हैं - यह टूल प्रारंभ में सभी bodies का विश्लेषण करेगा और प्रारंभिक results json फ़ाइल को निम्नलिखित डेटा बिंदुओं के साथ समृद्ध करेगा:
इसके बाद यह पूरी नई results फ़ाइल को स्कैन करेगा और केवल उन प्रविष्टियों को रखेगा जो ज्ञात मेटाडेटा प्रकारों के आधार पर अद्वितीय हैं। यदि यह पता चलता है कि उनमें से एक मान हमेशा अलग होता है (उदाहरण के लिए पृष्ठों का शीर्षक बहुत भिन्न हो सकता है) - तो इस मेटाडेटा प्रकार को अद्वितीयता जाँच के लिए छोड़ दिया जाएगा।
सामान्य तौर पर यह टूल हमेशा कुछ ऐसी प्रविष्टियाँ रखेगा जो अद्वितीय नहीं हैं। उदाहरण के लिए, यदि results json फ़ाइल में 300x http status 403 (समान शब्दों, लंबाई, ... के साथ) और 2 अद्वितीय http status 200 प्रतिक्रियाएँ हैं, तो यह सभी 300 http status 403 प्रविष्टियों को नहीं हटाएगा। यह उनमें से X को डेटा सेट में रखेगा।
ffufPostprocessing को golang 1.19 की आवश्यकता है
cd ffufPostprocessing
go build -o dist/ffufPostprocessing main.go
मुझे कोई परवाह नहीं है। इस टूल के साथ जो चाहें करें।