⚡ Wfuzz - Web Fuzzing Tool
🔍 Web Fuzzing 🐍 Python 🔄 Multiple Payloads
Category: 3️⃣ Web Application Attacks
📝 Description
Wfuzz एक शक्तिशाली वेब फजिंग (Web Fuzzing) टूल है जो Python में लिखा गया है। यह वेब एप्लीकेशन में विभिन्न पैरामीटर्स, डायरेक्टरी, फाइल्स, हेडर्स, और POST डेटा पर ब्रूटफोर्स और फजिंग अटैक करने के लिए उपयोग किया जाता है। Wfuzz Burp Suite के Intruder की तरह काम करता है लेकिन कमांड लाइन पर और अधिक फ्लेक्सिबल है। यह SQL Injection, XSS, डायरेक्टरी ब्रूटफोर्स, पैरामीटर फजिंग, और बहुत कुछ कर सकता है।
विशेषता: Wfuzz की सबसे बड़ी खासियत है इसका मल्टी-पेलोड सपोर्ट - आप एक साथ कई वर्डलिस्ट का उपयोग कर सकते हैं। यह कुकी, हेडर, बेसिक ऑथेंटिकेशन, और प्रॉक्सी को भी सपोर्ट करता है।
📦 Installation
Kali Linux (पहले से इंस्टॉल):
wfuzz -h
Ubuntu/Debian:
sudo apt update sudo apt install wfuzz -y
Python pip से:
pip3 install wfuzz
GitHub से इंस्टॉल:
git clone https://github.com/xmendez/wfuzz.git cd wfuzz python3 setup.py install
💻 Common Commands (उदाहरण सहित)
📌 Wfuzz में FUZZ keyword का उपयोग होता है जहाँ हम पेलोड डालना चाहते हैं।
🔹 1. डायरेक्टरी ब्रूटफोर्स - सबसे आम उपयोग:
wfuzz -w /usr/share/wordlists/dirb/common.txt http://target.com/FUZZ
wfuzz -w /usr/share/wordlists/dirb/common.txt http://testphp.vulnweb.com/FUZZ से सभी डायरेक्टरी और फाइल्स ढूँढता है।🔹 2. फाइल एक्सटेंशन ब्रूटफोर्स:
wfuzz -w extensions.txt http://target.com/indexFUZZ
🔹 3. GET पैरामीटर फजिंग - SQL Injection टेस्ट:
wfuzz -w payloads.txt "http://target.com/page.php?id=FUZZ"
🔹 4. POST डेटा फजिंग - लॉगिन ब्रूटफोर्स:
wfuzz -w users.txt -w passes.txt -d "user=FUZZ&pass=FUZ2Z" http://target.com/login.php
🔹 5. कुकी के साथ फजिंग:
wfuzz -w payloads.txt -b "PHPSESSID=abc123" http://target.com/page.php?id=FUZZ
🔹 6. हेडर फजिंग (User-Agent, Referer, etc.):
wfuzz -w user-agents.txt -H "User-Agent: FUZZ" http://target.com/page.php
🔹 7. आउटपुट को फिल्टर करना - सिर्फ 200 ओके रिस्पॉन्स:
wfuzz -w wordlist.txt --hc 404 http://target.com/FUZZ
🔹 8. आउटपुट को हाइड करना - सिर्फ अलग साइज वाले:
wfuzz -w wordlist.txt --hh 1234 http://target.com/FUZZ
🔹 9. रिजल्ट को फाइल में सेव करना:
wfuzz -w wordlist.txt -o csv -f output.csv http://target.com/FUZZ
🔹 10. मल्टीपल पेलोड्स एक साथ (कॉम्बिनेशन):
wfuzz -z file,users.txt -z file,passes.txt -d "user=FUZZ&pass=FUZ2Z" http://target.com/login.php
🔹 11. बेसिक ऑथेंटिकेशन के साथ फजिंग:
wfuzz -w passwords.txt --basic admin:FUZZ http://target.com/admin
🔹 12. प्रॉक्सी के माध्यम से फजिंग:
wfuzz -w wordlist.txt -p 127.0.0.1:8080:HTTP http://target.com/FUZZ
🔹 13. थ्रेड्स की संख्या बढ़ाना (तेज फजिंग):
wfuzz -w wordlist.txt -t 50 http://target.com/FUZZ
🔹 14. डिले सेट करना (सर्वर पर लोड कम करने के लिए):
wfuzz -w wordlist.txt -s 1 http://target.com/FUZZ
🔹 15. रिक्वेस्ट को पुनः प्रयास करना:
wfuzz -w wordlist.txt --retries 3 http://target.com/FUZZ
🔹 16. रिस्पॉन्स टाइम के हिसाब से फिल्टर:
wfuzz -w wordlist.txt --filter "time > 2" http://target.com/FUZZ
🎯 Wfuzz के पेलोड टाइप्स:
- file: फाइल से पेलोड लोड करना (
-z file,wordlist.txt) - range: नंबर रेंज (
-z range,1-1000) - list: इनलाइन लिस्ट (
-z list,admin-root-test) - stdin: पाइप से इनपुट (
cat wordlist.txt | wfuzz -z stdin ...) - burp: Burp Suite Intruder फॉर्मेट
🎯 Use Cases (उपयोग के तरीके)
- डायरेक्टरी और फाइल डिस्कवरी: छिपी हुई डायरेक्टरी, बैकअप फाइल्स, एडमिन पैनल ढूँढना।
- पैरामीटर फजिंग: गेट और पोस्ट पैरामीटर्स पर SQL Injection, XSS, LFI, RFI टेस्ट करना।
- लॉगिन ब्रूटफोर्स: यूजरनेम और पासवर्ड की वर्डलिस्ट से ब्रूटफोर्स करना।
- हैडर फजिंग: User-Agent, Referer, X-Forwarded-For हैडर्स पर टेस्ट करना।
- API एंडपॉइंट डिस्कवरी: API एंडपॉइंट्स और पैरामीटर्स ढूँढना।
⚙️ Key Features (मुख्य विशेषताएँ)
- ✔️ मल्टी-पेलोड सपोर्ट (एक साथ कई वर्डलिस्ट)
- ✔️ GET, POST, COOKIE, HEADER पर फजिंग
- ✔️ बेसिक और डाइजेस्ट ऑथेंटिकेशन सपोर्ट
- ✔️ प्रॉक्सी सपोर्ट (HTTP, HTTPS, SOCKS)
- ✔️ रिस्पॉन्स फिल्टर (स्टेटस कोड, साइज, टाइम, लाइन्स, वर्ड्स)
- ✔️ थ्रेडिंग (तेज फजिंग)
- ✔️ कस्टम हैडर्स
- ✔️ कुकी सपोर्ट
- ✔️ CSV, HTML, JSON, SQLite फॉर्मेट में रिपोर्ट
- ✔️ पाइपलाइनिंग (stdin से पेलोड लोड करना)
- ✔️ रिक्वेस्ट डिले (सर्वर पर लोड कंट्रोल)
- ✔️ Python में लिखा, क्रॉस-प्लेटफॉर्म
📌 Wfuzz के फिल्टर ऑप्शन:
- --hc: Hide by status code (--hc 404,403)
- --hl: Hide by lines (--hl 0)
- --hw: Hide by words (--hw 100)
- --hh: Hide by characters (--hh 1234)
- --sc: Show by status code (--sc 200,302)
- --sl: Show by lines
- --sw: Show by words
- --sh: Show by characters
📌 Wfuzz vs Burp Intruder:
- Wfuzz: कमांड लाइन, स्क्रिप्टिंग के लिए अच्छा, हल्का, मल्टी-पेलोड सपोर्ट
- Burp Intruder: GUI, विजुअल, ज्यादा फीचर्स, प्रोफेशनल वर्शन में तेज
- अनुशंसा: Wfuzz स्क्रिप्ट ऑटोमेशन के लिए, Burp मैनुअल टेस्टिंग के लिए।
🔗 Official Resources
- GitHub Repository: https://github.com/xmendez/wfuzz
- Official Documentation: https://wfuzz.readthedocs.io
- Kali Linux Tools: Kali Wfuzz Page
🔧 Related Tools (समान उपकरण)
- Burp Suite Intruder: GUI आधारित फजिंग टूल
- ffuf: तेज वेब फजिंग टूल (Go में लिखा)
- dirb: डायरेक्टरी ब्रूटफोर्स टूल
- gobuster: तेज डायरेक्टरी/डीएनएस ब्रूटफोर्स
- hydra: नेटवर्क लॉगिन क्रैकर
- SQLmap: SQL इंजेक्शन के लिए स्पेशलाइज्ड
📌 Wfuzz के लिए सुझाव:
- हमेशा --hc 404 का उपयोग करें ताकि नॉट फाउंड रिस्पॉन्स न दिखें
- बड़ी वर्डलिस्ट के लिए -t (थ्रेड्स) बढ़ाएं लेकिन सर्वर पर लोड का ध्यान रखें
- प्रोडक्शन साइट पर -s (डिले) का उपयोग करें
- फजिंग से पहले हमेशा अनुमति लें
⚠️ Important Note (सावधानी)
Wfuzz एक शक्तिशाली फजिंग टूल है जो वेब सर्वर पर भारी लोड डाल सकता है। इसका उपयोग केवल उन्हीं वेबसाइट्स पर करें जिनकी आपको लिखित अनुमति हो। बिना अनुमति के ब्रूटफोर्स या फजिंग करना कानूनी अपराध है। प्रोडक्शन सर्वर पर स्कैन करते समय -s (delay) पैरामीटर का उपयोग करके रिक्वेस्ट लिमिट लगाएं। हमेशा अपने खुद के वेब एप्लीकेशन या बग बाउंटी प्रोग्राम पर ही प्रैक्टिस करें।