* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimizden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'ı takip edin**.
> [Wfuzz](https://github.com/xmendez/wfuzz), web uygulamalarının değerlendirmelerinde görevi kolaylaştırmak için oluşturulmuş olup, temel bir kavrama dayanır: FUZZ anahtar kelimesine yapılan herhangi bir başvuruyu belirli bir payload değeriyle değiştirir.
wfuzz provides several options to control the output format and content. These options can be used to customize the way the results are displayed and saved.
### -o, --output \<file\>
Specify the output file where the results will be saved. This can be useful for further analysis or documentation purposes.
### -f, --filter \<expression\>
Apply a filter to the output results based on a given expression. This allows you to only display or save specific results that match the filter criteria.
### -c, --colorize
Enable colorized output for better readability. This option can be helpful when analyzing large amounts of data.
### -s, --saveoutput
Save the output results to a file. This option is useful when you want to save the results without displaying them on the screen.
### -d, --delimiter \<character\>
Specify a custom delimiter character to separate the output fields. By default, the delimiter is set to a comma (,).
### -t, --table
Display the output results in a table format. This option provides a more organized and structured view of the results.
### -l, --limit \<number\>
Limit the number of output results to be displayed or saved. This can be useful when dealing with large datasets to avoid overwhelming the screen or saving unnecessary data.
### -v, --verbose
Enable verbose mode to display additional information about the requests and responses. This can be helpful for debugging or understanding the behavior of the target application.
### -q, --quiet
Disable verbose mode and only display essential information. This option is useful when you want to minimize the amount of output displayed on the screen.
### -h, --help
Display the help menu with all the available options and their descriptions.
### -V, --version
Display the version information of wfuzz.
wfuzz, çıktı formatını ve içeriğini kontrol etmek için birkaç seçenek sunar. Bu seçenekler, sonuçların nasıl görüntüleneceği ve kaydedileceği özelleştirmek için kullanılabilir.
### -o, --output \<dosya\>
Sonuçların kaydedileceği çıktı dosyasını belirtin. Bu, daha fazla analiz veya belgeleme amaçları için kullanışlı olabilir.
### -f, --filter \<ifade\>
Verilen bir ifadeye dayalı olarak çıktı sonuçlarına bir filtre uygulayın. Bu, filtre kriterlerine uyan belirli sonuçları yalnızca görüntülemenize veya kaydetmenize olanak tanır.
### -c, --colorize
Daha iyi okunabilirlik için renkli çıktıyı etkinleştirin. Bu seçenek, büyük miktarda veri analiz ederken yardımcı olabilir.
### -s, --saveoutput
Çıktı sonuçlarını bir dosyaya kaydedin. Bu seçenek, sonuçları ekranda görüntülemeden kaydetmek istediğinizde kullanışlıdır.
### -d, --delimiter \<karakter\>
Çıktı alanlarını ayırmak için özel bir ayırıcı karakter belirtin. Varsayılan olarak, ayırıcı virgül (,) olarak ayarlanır.
### -t, --table
Çıktı sonuçlarını tablo formatında görüntüleyin. Bu seçenek, sonuçların daha düzenli ve yapılandırılmış bir görünümünü sağlar.
### -l, --limit \<sayı\>
Görüntülenecek veya kaydedilecek çıktı sonuçlarının sayısını sınırlayın. Bu, büyük veri kümeleriyle uğraşırken ekranı aşırı yüklememek veya gereksiz veri kaydetmemek için kullanışlı olabilir.
### -v, --verbose
İstekler ve yanıtlar hakkında ek bilgileri görüntülemek için ayrıntılı modu etkinleştirin. Bu, hata ayıklama veya hedef uygulamanın davranışını anlama konusunda yardımcı olabilir.
Ayrıntılı modu devre dışı bırakın ve yalnızca temel bilgileri görüntüleyin. Bu seçenek, ekranda görüntülenen çıktı miktarını en aza indirmek istediğinizde kullanışlıdır.
There are several encoding options available in wfuzz that can be used to modify the payloads sent during the fuzzing process. These encoding options can help bypass certain security measures or evade detection. The following are the available encoding options in wfuzz:
- **URL Encoding**: This option encodes special characters in the URL using percent-encoding. It is useful when fuzzing URLs that contain special characters that may be interpreted differently by the server.
- **HTML Encoding**: This option encodes special characters in the payload using HTML entities. It is useful when fuzzing web forms or input fields that may not properly handle special characters.
- **Base64 Encoding**: This option encodes the payload using Base64 encoding. It is useful when fuzzing parameters that are expected to be Base64 encoded.
- **Hex Encoding**: This option encodes the payload using hexadecimal representation. It is useful when fuzzing parameters that are expected to be in hexadecimal format.
- **Unicode Encoding**: This option encodes the payload using Unicode characters. It is useful when fuzzing parameters that may be vulnerable to Unicode-based attacks.
- **Double URL Encoding**: This option applies URL encoding twice to the payload. It can be used to bypass certain security filters that only decode the payload once.
- **UTF-8 Encoding**: This option encodes the payload using UTF-8 encoding. It is useful when fuzzing parameters that may be vulnerable to UTF-8-based attacks.
- **UTF-16 Encoding**: This option encodes the payload using UTF-16 encoding. It is useful when fuzzing parameters that may be vulnerable to UTF-16-based attacks.
- **UTF-32 Encoding**: This option encodes the payload using UTF-32 encoding. It is useful when fuzzing parameters that may be vulnerable to UTF-32-based attacks.
- **Mixed Encoding**: This option applies a combination of different encodings to the payload. It can be useful when fuzzing parameters that may be vulnerable to multiple encoding-based attacks.
These encoding options can be specified using the `--encoding` parameter in wfuzz.
Path parametreleri, bir URL'nin yolunda bulunan değişkenlerdir. Bu parametreler, web uygulamalarında dinamik içerik oluşturmak için kullanılır. WFuzz, bu path parametrelerini brute force saldırılarıyla keşfetmek için kullanılabilir.
WFuzz, bir wordlist (kelime listesi) ve hedef URL'yi kullanarak path parametrelerini brute force etmek için kullanılır. Wordlist, olası parametre değerlerini içeren bir liste olarak düşünülebilir. WFuzz, bu wordlist'i kullanarak hedef URL'ye farklı parametre değerleriyle istekler gönderir ve yanıtları analiz eder.
Bu saldırı, web uygulamasının path parametrelerinde güvenlik açıklarını keşfetmek için kullanılabilir. Örneğin, bir web uygulaması, path parametresini doğru bir şekilde doğrulamıyorsa veya sınırlamalar uygulamıyorsa, saldırganlar bu açığı kullanarak yetkisiz erişim elde edebilir veya hassas bilgilere erişebilir.
WFuzz, path parametrelerini brute force etmek için farklı saldırı modları sunar. Bunlar arasında `FUZZ`, `FUZZ2`, `FUZZ3` ve `FUZZ4` bulunur. Bu modlar, wordlist'teki her bir değeri hedef URL'ye ekleyerek istekleri gönderir.
Path parametreleri brute force saldırıları, web uygulamalarının güvenlik açıklarını keşfetmek için etkili bir yöntemdir. Ancak, bu saldırıları gerçekleştirirken yasal izinlere ve etik kurallara uyulması önemlidir.
Bu bölümde, NTLM kimlik doğrulama protokolünü hedefleyen bir saldırıyı gerçekleştirmek için wfuzz aracını kullanacağız. Bu saldırıda, iki farklı liste kullanarak hedef web uygulamasında bulunan kullanıcı adlarını ve şifreleri deneyeceğiz. Ayrıca, sonuçları filtrelemek için bir dize kullanacağız ve bir proxy sunucusu üzerinden saldırıyı yönlendireceğiz.
Bu komut, wfuzz aracını kullanarak NTLM kimlik doğrulama protokolünü hedefleyen bir saldırıyı gerçekleştirir. İlgili parametreler şunlardır:
-`-c`: Renkli çıktıyı etkinleştirir.
-`-z file,users.txt`: Kullanıcı adlarını içeren bir dosyayı belirtir.
-`-z file,passwords.txt`: Şifreleri içeren bir dosyayı belirtir.
-`--hc 401,403`: 401 veya 403 durum kodlarına sahip yanıtları hariç tutar.
-`-u http://target.com/login.php`: Hedef web uygulamasının giriş sayfasının URL'sini belirtir.
-`-H "Authorization: NTLM FUZZ"`: NTLM kimlik doğrulama başlığını belirtir ve FUZZ, wfuzz'un kullanıcı adı ve şifreleri yerleştireceği yer tutucusudur.
-`-F "username=admin&password=FUZZ"`: Kullanıcı adı ve şifre parametrelerini belirtir ve FUZZ, wfuzz'un kullanıcı adı ve şifreleri yerleştireceği yer tutucusudur.
-`-t 50`: 50 iş parçacığı kullanarak saldırıyı gerçekleştirir.
-`--filter "length(content) > 100"`: Yanıt içeriğinin uzunluğunu 100'den büyük olan yanıtları filtreler.
-`-p 127.0.0.1:8080`: Saldırıyı yönlendirmek için bir proxy sunucusu kullanır.
Bu komutu kullanarak wfuzz aracını NTLM kimlik doğrulama protokolünü hedefleyen bir saldırı için yapılandırabilirsiniz. Kullanıcı adları ve şifrelerin bulunduğu iki farklı liste kullanarak hedef web uygulamasında kimlik doğrulama denemeleri yapabilirsiniz. Ayrıca, sonuçları belirli bir dizeyle filtreleyebilir ve saldırıyı bir proxy sunucusu üzerinden yönlendirebilirsiniz.
Web uygulamalarını hedef alırken, User-Agent başlığını değiştirerek tarayıcıyı taklit edebilirsiniz. Bu, web sunucusuna gerçek bir tarayıcı gibi görünmenizi sağlar ve bazı filtreleme mekanizmalarını atlatmanıza yardımcı olabilir.
Wfuzz, User-Agent başlığını değiştirmek için `--ua` parametresini kullanır. Örneğin, aşağıdaki komutu kullanarak User-Agent başlığını "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" olarak ayarlayabilirsiniz:
```plaintext
wfuzz --ua "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" ...
```
Bazı durumlarda, web uygulaması girişlerini filtreleyebilir veya engelleyebilir. Bu durumda, Wfuzz filtre kodunu kullanarak bu engellemeyi atlayabilirsiniz. Filtre kodu, web sunucusuna gönderilen her yanıtı analiz eder ve belirli bir desene uyan yanıtları filtreler. Örneğin, aşağıdaki komutu kullanarak "403 Forbidden" yanıtlarını filtreleyebilirsiniz:
Wfuzz ayrıca, istekleri bir proxy sunucusu üzerinden yönlendirmenize olanak tanır. Bu, isteklerinizi gizlemek veya hedef sunucuya farklı bir IP adresiyle erişmek için kullanılabilir. Proxy sunucusunu belirtmek için `--proxy` parametresini kullanabilirsiniz. Örneğin, aşağıdaki komutu kullanarak istekleri "http://localhost:8080" proxy sunucusu üzerinden yönlendirebilirsiniz:
Bu yöntemde, WFuzz aracını kullanarak hedef web uygulamasında HTTP fiillerini (metodlarını) bruteforce yapabilirsiniz. WFuzz, belirli bir dosyadaki fiil listesini hedef uygulamaya göndererek, geçerli fiilleri tespit etmenizi sağlar.
Bu yöntemi kullanmak için aşağıdaki adımları izleyin:
1. Bir fiil listesi dosyası oluşturun. Bu dosya, hedef uygulamada denemek istediğiniz HTTP fiillerini içermelidir. Örnek bir fiil listesi dosyası aşağıdaki gibi olabilir:
Burada `<fiil_listesi_dosyası>` oluşturduğunuz fiil listesi dosyasının yolunu ve `<hedef_url>` hedef web uygulamasının URL'sini temsil eder.
3. WFuzz, fiil listesindeki her bir fiili hedef uygulamaya göndererek yanıtları kontrol eder. Yanıtlar arasında farklılık olduğunda, geçerli bir fiil bulunmuş demektir.
Bu yöntem, hedef web uygulamasında kullanılan HTTP fiillerini tespit etmek ve güvenlik açıklarını bulmak için etkili bir yöntemdir. Ancak, hedef uygulamanın yanıtlarını dikkatlice incelemek ve yanıtlar arasındaki farkları doğru bir şekilde yorumlamak önemlidir.
You can use the inline list feature in Markdown to create a list within a paragraph. To create an inline list, simply separate the items with commas and enclose them in square brackets. For example:
```markdown
I like fruits, such as [apple], [banana], and [orange].
Dizin ve dosya bruteforce, bir web uygulamasında mevcut olan dizin ve dosyaları keşfetmek için kullanılan bir tekniktir. Bu teknik, bir saldırganın hedef web uygulamasında gizli veya gizlenmiş olan dizinleri ve dosyaları bulmasına yardımcı olur.
Bu saldırıyı gerçekleştirmek için genellikle wfuzz gibi bir araç kullanılır. Wfuzz, bir wordlist (kelime listesi) ve hedef web uygulamasının URL'si ile çalışır. Wordlist, olası dizin ve dosya adlarını içeren bir liste olarak düşünülebilir. Wfuzz, bu wordlist'i kullanarak hedef web uygulamasında mevcut olan dizin ve dosyaları denemek için otomatik olarak istekler gönderir.
Bu saldırı tekniği, web uygulamasının güvenlik açıklarını tespit etmek ve hassas bilgilere erişmek için kullanılabilir. Örneğin, gizli bir yönetici paneline veya veritabanı yedeklemelerine erişmek için kullanılabilir.
Dizin ve dosya bruteforce saldırıları, web uygulamalarının güvenlik açıklarını tespit etmek ve bu açıkları kapatmak için kullanılan bir pentesting tekniğidir. Bu nedenle, web uygulamalarının güvenliğini sağlamak için bu tür saldırılara karşı önlemler almak önemlidir.
<summary><strong>AWS hacklemeyi sıfırdan kahraman olacak şekilde öğrenin</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'ı takip edin**.