⚡ 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
👉 उदाहरण: extensions.txt में .php, .asp, .jsp, .html डालकर चलाएं।

🔹 3. GET पैरामीटर फजिंग - SQL Injection टेस्ट:

wfuzz -w payloads.txt "http://target.com/page.php?id=FUZZ"
👉 उदाहरण: payloads.txt में ' OR 1=1--, '; DROP TABLE users;-- आदि डालें।

🔹 4. POST डेटा फजिंग - लॉगिन ब्रूटफोर्स:

wfuzz -w users.txt -w passes.txt -d "user=FUZZ&pass=FUZ2Z" http://target.com/login.php
👉 उदाहरण: दो वर्डलिस्ट (users.txt और passes.txt) से ब्रूटफोर्स करता है।

🔹 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
👉 उदाहरण: अलग-अलग User-Agent भेजकर टेस्ट करता है।

🔹 7. आउटपुट को फिल्टर करना - सिर्फ 200 ओके रिस्पॉन्स:

wfuzz -w wordlist.txt --hc 404 http://target.com/FUZZ
👉 उदाहरण: --hc 404 से 404 एरर वाले रिस्पॉन्स को हाइड करता है।

🔹 8. आउटपुट को हाइड करना - सिर्फ अलग साइज वाले:

wfuzz -w wordlist.txt --hh 1234 http://target.com/FUZZ
👉 उदाहरण: --hh 1234 से उन रिस्पॉन्स को हाइड करता है जिनका साइज 1234 बाइट है।

🔹 9. रिजल्ट को फाइल में सेव करना:

wfuzz -w wordlist.txt -o csv -f output.csv http://target.com/FUZZ
👉 उदाहरण: CSV फॉर्मेट में रिजल्ट सेव करता है।

🔹 10. मल्टीपल पेलोड्स एक साथ (कॉम्बिनेशन):

wfuzz -z file,users.txt -z file,passes.txt -d "user=FUZZ&pass=FUZ2Z" http://target.com/login.php
👉 उदाहरण: users.txt और passes.txt का कार्टेशियन प्रोडक्ट बनाता है।

🔹 11. बेसिक ऑथेंटिकेशन के साथ फजिंग:

wfuzz -w passwords.txt --basic admin:FUZZ http://target.com/admin
👉 उदाहरण: admin पासवर्ड ब्रूटफोर्स करता है।

🔹 12. प्रॉक्सी के माध्यम से फजिंग:

wfuzz -w wordlist.txt -p 127.0.0.1:8080:HTTP http://target.com/FUZZ
👉 उदाहरण: Burp Suite प्रॉक्सी के माध्यम से फजिंग करता है।

🔹 13. थ्रेड्स की संख्या बढ़ाना (तेज फजिंग):

wfuzz -w wordlist.txt -t 50 http://target.com/FUZZ
👉 उदाहरण: 50 थ्रेड्स के साथ फजिंग (डिफॉल्ट 10)।

🔹 14. डिले सेट करना (सर्वर पर लोड कम करने के लिए):

wfuzz -w wordlist.txt -s 1 http://target.com/FUZZ
👉 उदाहरण: हर रिक्वेस्ट के बीच 1 सेकंड का डिले।

🔹 15. रिक्वेस्ट को पुनः प्रयास करना:

wfuzz -w wordlist.txt --retries 3 http://target.com/FUZZ
👉 उदाहरण: फेल रिक्वेस्ट को 3 बार दोबारा भेजता है।

🔹 16. रिस्पॉन्स टाइम के हिसाब से फिल्टर:

wfuzz -w wordlist.txt --filter "time > 2" http://target.com/FUZZ
👉 उदाहरण: 2 सेकंड से अधिक समय लेने वाले रिस्पॉन्स दिखाता है।

🎯 Wfuzz के पेलोड टाइप्स:

🎯 Use Cases (उपयोग के तरीके)

⚙️ Key Features (मुख्य विशेषताएँ)

📌 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

🔧 Related Tools (समान उपकरण)

📌 Wfuzz के लिए सुझाव:

  • हमेशा --hc 404 का उपयोग करें ताकि नॉट फाउंड रिस्पॉन्स न दिखें
  • बड़ी वर्डलिस्ट के लिए -t (थ्रेड्स) बढ़ाएं लेकिन सर्वर पर लोड का ध्यान रखें
  • प्रोडक्शन साइट पर -s (डिले) का उपयोग करें
  • फजिंग से पहले हमेशा अनुमति लें

⚠️ Important Note (सावधानी)

Wfuzz एक शक्तिशाली फजिंग टूल है जो वेब सर्वर पर भारी लोड डाल सकता है। इसका उपयोग केवल उन्हीं वेबसाइट्स पर करें जिनकी आपको लिखित अनुमति हो। बिना अनुमति के ब्रूटफोर्स या फजिंग करना कानूनी अपराध है। प्रोडक्शन सर्वर पर स्कैन करते समय -s (delay) पैरामीटर का उपयोग करके रिक्वेस्ट लिमिट लगाएं। हमेशा अपने खुद के वेब एप्लीकेशन या बग बाउंटी प्रोग्राम पर ही प्रैक्टिस करें।