25 KiB
वेब टूल - WFuzz
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
क्या आप साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप अपनी कंपनी को HackTricks में विज्ञापित देखना चाहते हैं? या क्या आपको PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग करने की आवश्यकता है? सदस्यता योजनाएं की जांच करें!
-
खोजें The PEASS Family, हमारा विशेष संग्रह NFTs
-
प्राप्त करें आधिकारिक PEASS & HackTricks swag
-
शामिल हों 💬 Discord समूह या टेलीग्राम समूह में या मुझे Twitter पर फ़ॉलो करें 🐦@carlospolopm.
-
अपने हैकिंग ट्रिक्स को hacktricks रेपो और hacktricks-cloud रेपो में पीआर जमा करके साझा करें।
वेब एप्लिकेशनों की मूल्यांकन में कार्य को सुगम बनाने के लिए एक टूल।
WFuzz को वेब एप्लिकेशनों की मूल्यांकन में कार्य को सुगम बनाने के लिए बनाया गया है और यह एक सरल अवधारणा पर आधारित है: यह एक दिए गए payload के मान के साथ FUZZ कीवर्ड के किसी भी संदर्भ को प्रतिस्थापित करता है।
स्थापना
Kali में स्थापित
Github: https://github.com/xmendez/wfuzz
pip install wfuzz
फ़िल्टरिंग विकल्प
-c, --code
इस विकल्प का उपयोग एक या एक से अधिक HTTP स्थिति कोड के लिए किया जा सकता है।
-w, --wordlist
इस विकल्प का उपयोग एक शब्द सूची फ़ाइल के लिए किया जा सकता है।
-r, --regex
इस विकल्प का उपयोग एक नियमित अभिव्यक्ति के लिए किया जा सकता है।
-s, --size
इस विकल्प का उपयोग एक निर्दिष्ट आकार के लिए किया जा सकता है।
-e, --encoding
इस विकल्प का उपयोग एक निर्दिष्ट एन्कोडिंग के लिए किया जा सकता है।
-H, --header
इस विकल्प का उपयोग एक HTTP हेडर के लिए किया जा सकता है।
-D, --data
इस विकल्प का उपयोग एक POST डेटा के लिए किया जा सकता है।
-X, --request
इस विकल्प का उपयोग एक निर्दिष्ट अनुरोध विधि के लिए किया जा सकता है।
-t, --threads
इस विकल्प का उपयोग एक निर्दिष्ट संख्या में थ्रेड के लिए किया जा सकता है।
-p, --proxy
इस विकल्प का उपयोग एक प्रॉक्सी सर्वर के लिए किया जा सकता है।
-x, --proxy-auth
इस विकल्प का उपयोग प्रॉक्सी सर्वर के लिए प्रमाणीकरण के लिए किया जा सकता है।
-b, --cookie
इस विकल्प का उपयोग एक कुकी हेडर के लिए किया जा सकता है।
-d, --delay
इस विकल्प का उपयोग एक विशेष समय अंतराल के लिए किया जा सकता है।
-F, --follow
इस विकल्प का उपयोग रेडायरेक्ट के बाद अनुरोध को फ़ॉलो करने के लिए किया जा सकता है।
-L, --location
इस विकल्प का उपयोग रेडायरेक्ट के बाद अनुरोध को फ़ॉलो करने के लिए किया जा सकता है।
-R, --referer
इस विकल्प का उपयोग एक रेफ़रर हेडर के लिए किया जा सकता है।
-T, --timeout
इस विकल्प का उपयोग एक निर्दिष्ट समय सीमा के लिए किया जा सकता है।
-A, --auth
इस विकल्प का उपयोग एक प्रमाणीकरण हेडर के लिए किया जा सकता है।
-U, --user-agent
इस विकल्प का उपयोग एक उपयोगकर्ता एजेंट हेडर के लिए किया जा सकता है।
-H, --help
इस विकल्प का उपयोग मदद संदेश के लिए किया जा सकता है।
-V, --version
इस विकल्प का उपयोग संस्करण संदेश के लिए किया जा सकता है।
--hs/ss "regex" #Hide/Show
#Simple example, match a string: "Invalid username"
#Regex example: "Invalid *"
--hc/sc CODE #Hide/Show by code in response
--hl/sl NUM #Hide/Show by number of lines in response
--hw/sw NUM #Hide/Show by number of words in response
--hh/sh NUM #Hide/Show by number of chars in response
--hc/sc NUM #Hide/Show by response code
आउटपुट विकल्प
The wfuzz
tool provides several options for displaying the output of the scan. These options can be used to customize the format and level of detail in the results.
-o
or --output
This option allows you to specify the output file where the results will be saved. You can provide a filename or a path to save the file in a specific directory. For example:
wfuzz -o /path/to/output.txt
-f
or --format
The --format
option allows you to specify the format of the output. By default, the tool uses the plain
format, which displays the results in a simple and readable format. However, you can choose from other formats such as json
, xml
, csv
, html
, and markdown
. For example:
wfuzz -o /path/to/output.txt -f json
-c
or --columns
The --columns
option allows you to specify the columns to be displayed in the output. You can choose from a list of available columns such as url
, status
, length
, words
, lines
, time
, size
, redirect
, cookies
, headers
, body
, error
, match
, words_found
, lines_found
, time_total
, size_total
, redirect_total
, cookies_total
, headers_total
, body_total
, error_total
, match_total
. For example:
wfuzz -o /path/to/output.txt -c "url,status,words_found"
-s
or --separator
The --separator
option allows you to specify the separator character used in the output. By default, the tool uses a comma (,
) as the separator. However, you can choose a different character such as a tab (\t
) or a pipe (|
). For example:
wfuzz -o /path/to/output.txt -s "|"
These output options provide flexibility in customizing the format and content of the scan results according to your needs.
wfuzz -e printers #Prints the available output formats
-f /tmp/output,csv #Saves the output in that location in csv format
इनकोडर विकल्प
There are several options available for encoders:
-
URL Encoding: This encoding technique replaces special characters with their corresponding URL-encoded representation. For example, the space character is replaced with "%20".
-
HTML Encoding: HTML encoding replaces special characters with their corresponding HTML entity codes. For example, the less than symbol "<" is replaced with "<".
-
Base64 Encoding: Base64 encoding converts binary data into a string of ASCII characters. This encoding is commonly used for transmitting binary data over text-based protocols.
-
Hex Encoding: Hex encoding converts each byte of data into its hexadecimal representation. This encoding is often used for obfuscation purposes.
-
Unicode Encoding: Unicode encoding represents characters using their Unicode code points. This encoding is useful for handling non-ASCII characters.
-
UTF-8 Encoding: UTF-8 encoding is a variable-length encoding scheme that can represent any Unicode character. It is widely used for encoding text in web applications.
-
Double URL Encoding: Double URL encoding applies URL encoding twice to a string. This can be used to bypass certain security filters that only decode the string once.
-
Mixed Encoding: Mixed encoding combines multiple encoding techniques to obfuscate data. This can make it more difficult for security controls to detect and decode the encoded data.
-
Custom Encoding: Custom encoding techniques can be created to suit specific requirements. These techniques may involve manipulating the data in unique ways to achieve desired results.
Choose the appropriate encoding technique based on the specific scenario and the target application's behavior.
wfuzz -e encoders #Prints the available encoders
#Examples: urlencode, md5, base64, hexlify, uri_hex, doble urlencode
एक एन्कोडर का उपयोग करने के लिए, आपको इसे "-w" या "-z" विकल्प में निर्दिष्ट करना होगा।
उदाहरण:
-z file,/path/to/file,md5 #Will use a list inside the file, and will transform each value into its md5 hash before sending it
-w /path/to/file,base64 #Will use a list, and transform to base64
-z list,each-element-here,hexlify #Inline list and to hex before sending values
चीटशीट
लॉगिन फॉर्म ब्रूटफोर्स
POST, एकल सूची, फ़िल्टर स्ट्रिंग (छिपाएं)
wfuzz -c -w users.txt --hs "Login name" -d "name=FUZZ&password=FUZZ&autologin=1&enter=Sign+in" http://zipper.htb/zabbix/index.php
#Here we have filtered by line
POST, 2 सूचियाँ, फ़िल्टर कोड (दिखाएँ)
wfuzz.py -c -z file,users.txt -z file,pass.txt --sc 200 -d "name=FUZZ&password=FUZ2Z&autologin=1&enter=Sign+in" http://zipper.htb/zabbix/index.php
#Here we have filtered by code
GET, 2 सूचियाँ, स्ट्रिंग को फ़िल्टर करें (दिखाएँ), प्रॉक्सी, कुकीज़
wfuzz -c -w users.txt -w pass.txt --ss "Welcome " -p 127.0.0.1:8080:HTTP -b "PHPSESSIONID=1234567890abcdef;customcookie=hey" "http://example.com/index.php?username=FUZZ&password=FUZ2Z&action=sign+in"
डायरेक्टरी/RESTful ब्रूटफोर्स
wfuzz -c -w /tmp/tmp/params.txt --hc 404 https://domain.com/api/FUZZ
पथ पैरामीटर्स ब्रूटफोर्स
यह एक वेब अनुरोध टेस्टिंग टूल है जिसका उपयोग पथ पैरामीटर्स को ब्रूटफोर्स करने के लिए किया जाता है। यह टूल वेब ऐप्लिकेशन के पथ में मौजूद पैरामीटर्स की संभावित मानों की सूची को चेक करता है और उन्हें ब्रूटफोर्स करके संभावित गलतीयों या सुरक्षा खोंज करता है। यह टेस्टिंग टूल वेब ऐप्लिकेशन के पथ पैरामीटर्स की अद्यतन की जांच करने के लिए उपयोगी होता है और उन्हें ब्रूटफोर्स करके वेब ऐप्लिकेशन में संभावित सुरक्षा खोंज करने में मदद करता है।
wfuzz -c -w ~/git/Arjun/db/params.txt --hw 11 'http://example.com/path%3BFUZZ=FUZZ'
हेडर प्रमाणीकरण
बेसिक, 2 सूचियाँ, फ़िल्टर स्ट्रिंग (दिखाएँ), प्रॉक्सी
wfuzz -c -w users.txt -w pass.txt -p 127.0.0.1:8080:HTTP --ss "Welcome" --basic FUZZ:FUZ2Z "http://example.com/index.php"
NTLM, 2 सूचियाँ, फ़िल्टर स्ट्रिंग (दिखाएँ), प्रॉक्सी
यह वेब टूल एक विशेषता है जो एनटीएलएम (NTLM) आधारित प्रमाणीकरण को टेस्ट करने की क्षमता प्रदान करता है। इस टूल का उपयोग करके, आप दो सूचियों को उपयोग करके एक वेब सर्वर पर उपयोगकर्ता नामों और पासवर्डों की जांच कर सकते हैं।
इस टूल का उपयोग करने के लिए, आपको दो सूचियाँ तैयार करनी होगी। पहली सूची में उपयोगकर्ता नामों की सूची होगी और दूसरी सूची में पासवर्डों की सूची होगी। आप इन सूचियों को फ़ाइलों में सहेज सकते हैं और उन्हें टूल के साथ उपयोग कर सकते हैं।
इसके अलावा, आप एक फ़िल्टर स्ट्रिंग भी निर्दिष्ट कर सकते हैं जो उपयोगकर्ता नाम या पासवर्ड में शामिल होने वाले विशेष शब्दों को छिपा सकती है। इससे आपको उपयोगकर्ता नाम और पासवर्ड की जांच करने के लिए समय और श्रम की बचत होगी।
अंत में, आप एक प्रॉक्सी का उपयोग करके ट्रैफ़िक को रिडायरेक्ट कर सकते हैं। इससे आप ट्रैफ़िक को अपने वेब ब्राउज़र के द्वारा अनुकरण कर सकते हैं और उपयोगकर्ता नाम और पासवर्ड की जांच कर सकते हैं।
इस वेब टूल का उपयोग करने के लिए, आपको निम्नलिखित कमांड का उपयोग करना होगा:
wfuzz -c -z file,<usernames_file> -z file,<passwords_file> --ntlm -u <target_url> -F <filter_string> -p <proxy>
यहां <usernames_file>
और <passwords_file>
आपकी सूचियों के फ़ाइल पथ को दर्शाते हैं, <target_url>
आपके लक्षित वेब सर्वर का URL है, <filter_string>
आपकी फ़िल्टर स्ट्रिंग है और <proxy>
आपके प्रॉक्सी का URL है।
इस तरह से, आप एनटीएलएम प्रमाणीकरण को टेस्ट करने के लिए इस वेब टूल का सफलतापूर्वक उपयोग कर सकते हैं।
wfuzz -c -w users.txt -w pass.txt -p 127.0.0.1:8080:HTTP --ss "Welcome" --ntlm 'domain\FUZZ:FUZ2Z' "http://example.com/index.php"
कुकी/हेडर ब्रूटफोर्स (वीहोस्ट ब्रूट)
कुकी, फ़िल्टर कोड (दिखाएँ), प्रॉक्सी
wfuzz -c -w users.txt -p 127.0.0.1:8080:HTTP --ss "Welcome " -H "Cookie:id=1312321&user=FUZZ" "http://example.com/index.php"
उपयोगकर्ता एजेंट, फ़िल्टर कोड (छिपाएं), प्रॉक्सी
wfuzz -c -w user-agents.txt -p 127.0.0.1:8080:HTTP --ss "Welcome " -H "User-Agent: FUZZ" "http://example.com/index.php"
मेजबान
wfuzz -c -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-
top1million-20000.txt --hc 400,404,403 -H "Host: FUZZ.example.com" -u
http://example.com -t 100
फ़ाइल का उपयोग करें
This technique involves using a file to perform a brute force attack on HTTP verbs (methods). The file contains a list of commonly used HTTP verbs, such as GET, POST, PUT, DELETE, etc. The tool used for this attack is wfuzz.
To perform the attack, follow these steps:
- Create a file with a list of HTTP verbs. Each verb should be on a separate line. For example:
GET
POST
PUT
DELETE
-
Save the file with a .txt extension, such as
verbs.txt
. -
Use wfuzz to perform the brute force attack. The command syntax is as follows:
wfuzz -c -z file,<path_to_file>/verbs.txt <target_url>/{FUZZ}
Replace <path_to_file>
with the actual path to the file you created in step 1, and <target_url>
with the URL of the target website. The {FUZZ}
placeholder will be replaced by each verb from the file during the attack.
- Analyze the results of the attack. Wfuzz will display the responses received for each verb. Look for any unexpected or unusual responses, as they may indicate potential vulnerabilities or misconfigurations.
By brute forcing HTTP verbs, you can discover hidden functionality or misconfigured endpoints on a web application, which can be useful for further exploitation or security testing.
wfuzz -c -w methods.txt -p 127.0.0.1:8080:HTTP --sc 200 -X FUZZ "http://example.com/index.php"
इनलाइन सूची का उपयोग करना
$ wfuzz -z list,GET-HEAD-POST-TRACE-OPTIONS -X FUZZ http://testphp.vulnweb.com/
निर्देशिका और फ़ाइलों का ब्रूटफ़ोर्स
ब्रूटफ़ोर्स एक तकनीक है जिसमें हम एक वेबसाइट पर मौजूद निर्देशिकाओं और फ़ाइलों की सूची को खोजने के लिए विभिन्न प्रकार के शब्दों या संकेतों का उपयोग करते हैं। यह हमें उन निर्देशिकाओं और फ़ाइलों की पहुंच प्राप्त करने में मदद करता है जो सामान्यतः दृश्यमान नहीं होती हैं।
ब्रूटफ़ोर्स टूल्स जैसे wfuzz इस कार्य को सरल बनाते हैं। wfuzz एक ओपन सोर्स टूल है जिसका उपयोग निर्देशिका और फ़ाइलों के लिए ब्रूटफ़ोर्स अटैक करने के लिए किया जाता है। यह शब्दों या संकेतों की सूची को एक वेबसाइट पर लागू करता है और संभावित निर्देशिकाओं और फ़ाइलों की सूची को खोजता है।
इस तकनीक का उपयोग एक वेबसाइट के सुरक्षा की जांच करने, गोपनीय या अनुमति रहित फ़ाइलों की खोज करने और अनधिकृत निर्देशिकाओं की पहुंच प्राप्त करने के लिए किया जाता है।
#Filter by whitelisting codes
wfuzz -c -z file,/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --sc 200,202,204,301,302,307,403 http://example.com/uploads/FUZZ
वेब को बाइपास करने के लिए टूल
https://github.com/carlospolop/fuzzhttpbypass
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
क्या आप साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप अपनी कंपनी को HackTricks में विज्ञापित देखना चाहते हैं? या क्या आपको PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग करने की इच्छा है? सदस्यता योजनाएं की जांच करें!
-
खोजें The PEASS Family, हमारा विशेष संग्रह NFTs
-
प्राप्त करें आधिकारिक PEASS & HackTricks swag
-
शामिल हों 💬 Discord समूह या टेलीग्राम समूह में या मुझे Twitter पर फ़ॉलो करें 🐦@carlospolopm.
-
अपने हैकिंग ट्रिक्स को hacktricks रेपो और hacktricks-cloud रेपो में पीआर जमा करके साझा करें।