Web İçerik Keşfi

Dirsearch Kullanımı

Dirsearch ile yalnızca kendi web uygulamalarınızda dizin ve dosya keşfi yapın, çıktıları filtreleyin, raporlayın ve gereksiz açık içerikleri savunma odaklı kapatın.

17 Temmuz 202620 dk okumaBaşlangıç–Orta Seviye

1. Dirsearch Nedir?

Dirsearch, web sunucularında dizin ve dosya adlarını wordlist tabanlı olarak keşfetmek için kullanılan açık kaynaklı bir araçtır.

Python ile geliştirilmiştir ve durum kodu, uzantı, thread, gecikme ve özel header gibi ayrıntılı seçenekler sunar.

Yetkili kullanım

Dirsearch'ü yalnızca size ait sistemlerde veya açıkça izin verilmiş laboratuvar ortamlarında kullanın.

2. Dirsearch ve Gobuster Farkı

Özellik Dirsearch Gobuster
Dil Python Go
Temel amaç Dizin ve dosya keşfi Dizin, DNS ve VHost keşfi
Uzantı yönetimi Gelişmiş Temel
Rapor formatları Birden fazla seçenek Metin çıktısı ağırlıklı
Performans Esnek ve ayrıntılı Genellikle daha hızlı

3. Kali Linux Paket Kurulumu

Paket listesini güncelleyin:

bash
sudo apt update

Dirsearch paketini yükleyin:

bash
sudo apt install dirsearch -y

Kurulumu kontrol edin:

bash
dirsearch --help

4. Git Üzerinden Kurulum

Paket sürümü bulunmuyorsa veya güncel kaynak kod kullanılacaksa:

bash
sudo apt install git python3 python3-venv -y
git clone https://github.com/maurosoria/dirsearch.git
cd dirsearch

Sanal ortam oluşturun:

bash
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt

Yardım ekranı:

bash
python3 dirsearch.py --help

5. Yardım Ekranı

Paket kurulumu kullanıyorsanız:

bash
dirsearch --help

Git kurulumu kullanıyorsanız:

bash
python3 dirsearch.py --help

6. Güvenli Laboratuvar Hazırlığı

  • Yalnızca kendi web sunucunuzu kullanın.
  • Mümkünse Host-only veya Internal Network kullanın.
  • Tarama öncesinde snapshot veya yedek alın.
  • Küçük bir wordlist ile başlayın.
  • Thread sayısını düşük tutun.
  • Sunucu loglarını izleyin.

7. Küçük Laboratuvar Wordlist'i

Kendi test uygulamanız için küçük liste oluşturun:

bash
cat > dirsearch-lab.txt << 'EOF'
admin
docs
images
css
js
uploads
backup
test
api
EOF

Dosyayı kontrol edin:

bash
cat dirsearch-lab.txt

8. Temel Dizin Taraması

Yalnızca kendi yerel web sunucunuz için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt

9. Yerel Ağdaki Test Sunucusu

Size ait başka bir sanal makinede çalışan web sunucusu için:

bash
dirsearch -u http://192.168.56.101 -w dirsearch-lab.txt

10. Dosya Uzantılarını Belirtme

Belirli uzantıları kontrol etmek için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt -e html,txt,php,json

Yalnızca uygulamanızda kullanılan uzantıları seçin.

11. HTTPS Sitesini Tarama

Kendi HTTPS siteniz için:

bash
dirsearch -u https://alanadiniz.com -w dirsearch-lab.txt

12. HTTP Durum Kodlarını Yorumlama

Kod Anlamı
200 İçerik doğrudan erişilebilir.
301 / 302 Yönlendirme bulunur.
401 Kimlik doğrulama gerekir.
403 Erişim reddedilmiştir.
404 İçerik bulunamamıştır.
500 Sunucu tarafında hata oluşmuştur.

13. Gösterilecek Durum Kodları

Yalnızca belirli durum kodlarını göstermek için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt -i 200,204,301,302,307,401,403

14. Hariç Tutulacak Durum Kodları

Örneğin 404 cevaplarını gizlemek için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt -x 404

15. Cevap Boyutunu Hariç Tutma

Uygulama her bilinmeyen yol için aynı özel hata sayfasını dönüyorsa:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt --exclude-sizes 1234

Boyutu kendi laboratuvar cevabınızı inceleyerek belirleyin.

16. Thread Sayısını Sınırlama

Sunucuya aşırı yük bindirmemek için düşük thread değeri kullanın:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt -t 5

17. İstekler Arasına Gecikme Ekleme

Kontrollü laboratuvar taraması için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt --delay 0.25

18. Timeout Ayarı

Yavaş laboratuvar sunucusunda zaman aşımı süresi belirlemek için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt --timeout 10

19. Özel User-Agent

Loglarda taramayı kolay tanımak için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt --user-agent "Kemal-Lab-Dirsearch"

21. Recursive Tarama

Bulunan dizinlerin altını da kontrol etmek için recursive tarama kullanılabilir:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt -r
İstek sayısı artar

Recursive tarama daha fazla istek üretir. Küçük wordlist ve düşük thread değeriyle kullanın.

22. Sonuçları Dosyaya Kaydetme

Metin raporu oluşturmak için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt --plain-text-report dirsearch-raporu.txt

23. JSON Raporu Kaydetme

Sonuçları programatik olarak işlemek için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt --json-report dirsearch-raporu.json

24. CSV Raporu Kaydetme

Tablo olarak incelemek için:

bash
dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt --csv-report dirsearch-raporu.csv

25. Sunucu Loglarını İzleme

Nginx loglarını izlemek için:

bash
sudo tail -f /var/log/nginx/access.log

Özel User-Agent ile filtrelemek için:

bash
sudo grep "Kemal-Lab-Dirsearch" /var/log/nginx/access.log

26. Bulguları Yorumlama

Bulgu Savunma kontrolü
/admin Yönetim paneli IP veya VPN ile sınırlandırılmış mı?
/backup Yedekler web kökü dışında mı tutuluyor?
/uploads Dosya yükleme dizininde çalıştırma engellenmiş mi?
/api Kimlik doğrulama ve rate limiting uygulanmış mı?
/test Test ortamı üretimde açık mı?

27. curl ile Manuel Doğrulama

Kendi web sunucunuzdaki yolu doğrulamak için:

bash
curl -I http://127.0.0.1/docs

Yönlendirmeyi takip etmek için:

bash
curl -I -L http://127.0.0.1/docs

28. Web Sunucusu Savunma Önlemleri

  • Gereksiz dosya ve dizinleri kaldırın.
  • Yedekleri web kökü dışında saklayın.
  • Dizin listelemeyi kapatın.
  • Yönetim panellerini VPN veya IP kısıtı arkasına alın.
  • Test ortamlarını üretimden ayırın.
  • Dosya yükleme dizinlerinde script çalıştırmayı engelleyin.
  • HTTPS ve güvenlik başlıklarını etkinleştirin.
  • Log ve alarm mekanizması kullanın.

29. Uygulamalı Güvenli Laboratuvar

  1. Kendi yerel web sunucunuzu başlatın.
  2. Küçük laboratuvar wordlist'i oluşturun.
  3. Dirsearch taramasını 5 thread ile başlatın.
  4. İstekler arasına gecikme ekleyin.
  5. Özel User-Agent kullanın.
  6. Sonuçları JSON veya metin raporuna kaydedin.
  7. Nginx veya Apache loglarını inceleyin.
  8. Bulunan yolları curl ile doğrulayın.
  9. Gereksiz içerikleri kaldırın veya sınırlandırın.
  10. Taramayı tekrar çalıştırıp raporları karşılaştırın.

30. Sık Karşılaşılan Hatalar

dirsearch komutu bulunamadı

bash
sudo apt update
sudo apt install dirsearch -y

Wordlist bulunamadı

bash
ls -lh dirsearch-lab.txt

Çok fazla aynı sonuç

Özel 404 sayfasının durum kodunu ve cevap boyutunu kontrol edin. Gerekirse durum kodu veya boyut filtresi kullanın.

Sunucu yavaşlıyor

Thread sayısını düşürün, gecikme ekleyin ve küçük wordlist kullanın.

31. Komut Özeti

İşlem Komut
Temel tarama dirsearch -u http://127.0.0.1 -w dirsearch-lab.txt
Uzantı seçme -e html,txt,php,json
Thread sınırı -t 5
Gecikme --delay 0.25
Recursive -r
Metin raporu --plain-text-report rapor.txt
JSON raporu --json-report rapor.json

32. Sonuç

Bu dokümanda Dirsearch kurulumu, temel dizin ve dosya keşfi, uzantı ve durum kodu filtreleri, thread, gecikme, özel header, recursive tarama, raporlama ve bulguların manuel doğrulanması ele alındı.

Dirsearch en güvenli şekilde, kendi web uygulamanızın içerik envanterini çıkarmak ve gereksiz açık dosya veya dizinleri kapatmak amacıyla kullanılmalıdır.

© 2026 Kemal Tokmak — Gerçek Deneyimler, Gerçek Dokümantasyon