
उच्च-प्रदर्शन ब्लैक-बॉक्स फजर वेब अनुप्रयोगों के लिए, जिसमें निर्मित पेलोड इंजन, अनुरोध सत्यापन, छेड़छाड़, एन्कोडिंग और छिपे हुए व्यवहारों और कमजोरियों का पता लगाने के लिए उन्नत फ़िल्टरिंग शामिल है।
</ लाभ | विशेषताएं | स्थापना | उपयोग | समुदाय >
Firefly एक उन्नत ब्लैक-बॉक्स फ़ज़र है, न कि केवल एक मानक एसेट खोज उपकरण। 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 Raw भेजेगा और फ़ज़ करने के लिए सभी 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
प्रतिक्रियाओं को शामिल (मिलान) करने के लिए regex, और स्टेटस कोड 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
प्रत्येक समवर्तीता के लिए मिलीसेकंड (ms) में समय विलंब
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 के लिए नई सुविधाओं, सुधारों का सुझाव देने और/या नए पेलोड जोड़ने के लिए स्वतंत्र है, बस एक पुल अनुरोध करें या अपने सुझावों के साथ एक टिप्पणी जोड़ें!