mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 07:01:09 +00:00
322 lines
25 KiB
Markdown
322 lines
25 KiB
Markdown
# वेब टूल - WFuzz
|
|
|
|
<details>
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|
|
|
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की आवश्यकता है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
|
|
|
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
|
|
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
|
|
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
|
|
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**
|
|
|
|
</details>
|
|
|
|
वेब एप्लिकेशनों की मूल्यांकन में कार्य को सुगम बनाने के लिए एक टूल।
|
|
|
|
> WFuzz को वेब एप्लिकेशनों की मूल्यांकन में कार्य को सुगम बनाने के लिए बनाया गया है और यह एक सरल अवधारणा पर आधारित है: यह एक दिए गए payload के मान के साथ FUZZ कीवर्ड के किसी भी संदर्भ को प्रतिस्थापित करता है।
|
|
|
|
## स्थापना
|
|
|
|
Kali में स्थापित
|
|
|
|
Github: [https://github.com/xmendez/wfuzz](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**
|
|
इस विकल्प का उपयोग संस्करण संदेश के लिए किया जा सकता है।
|
|
```bash
|
|
--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.
|
|
```bash
|
|
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.
|
|
```bash
|
|
wfuzz -e encoders #Prints the available encoders
|
|
#Examples: urlencode, md5, base64, hexlify, uri_hex, doble urlencode
|
|
```
|
|
एक एन्कोडर का उपयोग करने के लिए, आपको इसे **"-w"** या **"-z"** विकल्प में निर्दिष्ट करना होगा।
|
|
|
|
उदाहरण:
|
|
```bash
|
|
-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, एकल सूची, फ़िल्टर स्ट्रिंग (छिपाएं)**
|
|
```bash
|
|
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 सूचियाँ, फ़िल्टर कोड (दिखाएँ)**
|
|
```bash
|
|
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 सूचियाँ, स्ट्रिंग को फ़िल्टर करें (दिखाएँ), प्रॉक्सी, कुकीज़**
|
|
```bash
|
|
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 ब्रूटफोर्स
|
|
|
|
[अर्जुन पैरामीटर वर्डलिस्ट](https://raw.githubusercontent.com/s0md3v/Arjun/master/arjun/db/params.txt)
|
|
```
|
|
wfuzz -c -w /tmp/tmp/params.txt --hc 404 https://domain.com/api/FUZZ
|
|
```
|
|
### पथ पैरामीटर्स ब्रूटफोर्स
|
|
|
|
यह एक वेब अनुरोध टेस्टिंग टूल है जिसका उपयोग पथ पैरामीटर्स को ब्रूटफोर्स करने के लिए किया जाता है। यह टूल वेब ऐप्लिकेशन के पथ में मौजूद पैरामीटर्स की संभावित मानों की सूची को चेक करता है और उन्हें ब्रूटफोर्स करके संभावित गलतीयों या सुरक्षा खोंज करता है। यह टेस्टिंग टूल वेब ऐप्लिकेशन के पथ पैरामीटर्स की अद्यतन की जांच करने के लिए उपयोगी होता है और उन्हें ब्रूटफोर्स करके वेब ऐप्लिकेशन में संभावित सुरक्षा खोंज करने में मदद करता है।
|
|
```bash
|
|
wfuzz -c -w ~/git/Arjun/db/params.txt --hw 11 'http://example.com/path%3BFUZZ=FUZZ'
|
|
```
|
|
### हेडर प्रमाणीकरण
|
|
|
|
#### **बेसिक, 2 सूचियाँ, फ़िल्टर स्ट्रिंग (दिखाएँ), प्रॉक्सी**
|
|
```bash
|
|
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) आधारित प्रमाणीकरण को टेस्ट करने की क्षमता प्रदान करता है। इस टूल का उपयोग करके, आप दो सूचियों को उपयोग करके एक वेब सर्वर पर उपयोगकर्ता नामों और पासवर्डों की जांच कर सकते हैं।
|
|
|
|
इस टूल का उपयोग करने के लिए, आपको दो सूचियाँ तैयार करनी होगी। पहली सूची में उपयोगकर्ता नामों की सूची होगी और दूसरी सूची में पासवर्डों की सूची होगी। आप इन सूचियों को फ़ाइलों में सहेज सकते हैं और उन्हें टूल के साथ उपयोग कर सकते हैं।
|
|
|
|
इसके अलावा, आप एक फ़िल्टर स्ट्रिंग भी निर्दिष्ट कर सकते हैं जो उपयोगकर्ता नाम या पासवर्ड में शामिल होने वाले विशेष शब्दों को छिपा सकती है। इससे आपको उपयोगकर्ता नाम और पासवर्ड की जांच करने के लिए समय और श्रम की बचत होगी।
|
|
|
|
अंत में, आप एक प्रॉक्सी का उपयोग करके ट्रैफ़िक को रिडायरेक्ट कर सकते हैं। इससे आप ट्रैफ़िक को अपने वेब ब्राउज़र के द्वारा अनुकरण कर सकते हैं और उपयोगकर्ता नाम और पासवर्ड की जांच कर सकते हैं।
|
|
|
|
इस वेब टूल का उपयोग करने के लिए, आपको निम्नलिखित कमांड का उपयोग करना होगा:
|
|
|
|
```plaintext
|
|
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 है।
|
|
|
|
इस तरह से, आप एनटीएलएम प्रमाणीकरण को टेस्ट करने के लिए इस वेब टूल का सफलतापूर्वक उपयोग कर सकते हैं।
|
|
```bash
|
|
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"
|
|
```
|
|
### कुकी/हेडर ब्रूटफोर्स (वीहोस्ट ब्रूट)
|
|
|
|
#### **कुकी, फ़िल्टर कोड (दिखाएँ), प्रॉक्सी**
|
|
```bash
|
|
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"
|
|
```
|
|
#### **उपयोगकर्ता एजेंट, फ़िल्टर कोड (छिपाएं), प्रॉक्सी**
|
|
```bash
|
|
wfuzz -c -w user-agents.txt -p 127.0.0.1:8080:HTTP --ss "Welcome " -H "User-Agent: FUZZ" "http://example.com/index.php"
|
|
```
|
|
#### **मेजबान**
|
|
```bash
|
|
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:
|
|
|
|
1. Create a file with a list of HTTP verbs. Each verb should be on a separate line. For example:
|
|
|
|
```
|
|
GET
|
|
POST
|
|
PUT
|
|
DELETE
|
|
```
|
|
|
|
2. Save the file with a .txt extension, such as `verbs.txt`.
|
|
|
|
3. 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.
|
|
|
|
4. 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.
|
|
```bash
|
|
wfuzz -c -w methods.txt -p 127.0.0.1:8080:HTTP --sc 200 -X FUZZ "http://example.com/index.php"
|
|
```
|
|
#### **इनलाइन सूची का उपयोग करना**
|
|
```bash
|
|
$ wfuzz -z list,GET-HEAD-POST-TRACE-OPTIONS -X FUZZ http://testphp.vulnweb.com/
|
|
```
|
|
### निर्देशिका और फ़ाइलों का ब्रूटफ़ोर्स
|
|
|
|
ब्रूटफ़ोर्स एक तकनीक है जिसमें हम एक वेबसाइट पर मौजूद निर्देशिकाओं और फ़ाइलों की सूची को खोजने के लिए विभिन्न प्रकार के शब्दों या संकेतों का उपयोग करते हैं। यह हमें उन निर्देशिकाओं और फ़ाइलों की पहुंच प्राप्त करने में मदद करता है जो सामान्यतः दृश्यमान नहीं होती हैं।
|
|
|
|
ब्रूटफ़ोर्स टूल्स जैसे wfuzz इस कार्य को सरल बनाते हैं। wfuzz एक ओपन सोर्स टूल है जिसका उपयोग निर्देशिका और फ़ाइलों के लिए ब्रूटफ़ोर्स अटैक करने के लिए किया जाता है। यह शब्दों या संकेतों की सूची को एक वेबसाइट पर लागू करता है और संभावित निर्देशिकाओं और फ़ाइलों की सूची को खोजता है।
|
|
|
|
इस तकनीक का उपयोग एक वेबसाइट के सुरक्षा की जांच करने, गोपनीय या अनुमति रहित फ़ाइलों की खोज करने और अनधिकृत निर्देशिकाओं की पहुंच प्राप्त करने के लिए किया जाता है।
|
|
```bash
|
|
#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](https://github.com/carlospolop/fuzzhttpbypass)
|
|
|
|
<details>
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|
|
|
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की इच्छा है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
|
|
|
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
|
|
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
|
|
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
|
|
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**
|
|
|
|
</details>
|