Gelişmiş gizlenme tekniklerine sahip bir web dizin/dosya tarama (fuzzing) aracı.
-
Rastgele User-Agent Rotasyonu — Her istekte farklı bir tarayıcı gibi görünür
-
Adaptif Jitter (Gecikme) — İstekler arasına milisaniye bazında rastgele boşluklar koyarak insan davranışını taklit eder
-
Payload Kodlama —
double-urlvebase64kodlama ile WAF filtrelerini atlatır -
Otomatik Rate-Limit Tespiti — 403/429 hatalarını algılar, istek hızını otomatik düşürür veya taramayı duraklatır
-
Çoklu Thread Desteği — Kullanıcı tarafından yapılandırılabilir thread sayısı
-
İlerleme Kaydı (Resume) — Tarama yarıda kalsa bile kaldığı yerden devam edebilir
-
Çoklu Çıktı Formatı — Sonuçları tablo olarak ekrana basar,
.txtve.jsonolarak kaydeder -
Renkli Terminal Çıktısı — Durum kodlarına göre renklendirilmiş çıktı
GlassFuzz, Python standart kütüphanesi dışında hiçbir bağımlılık gerektirmez.
\# Python 3.7+ gereklidir
git clone https://github.com/user/glassfuzz.git
cd glassfuzz
chmod +x glassfuzz.py
\# Temel kullanım
python3 glassfuzz.py -u https://example.com -w wordlists/common.txt
\# Birden fazla wordlist ile tarama
python3 glassfuzz.py -u https://example.com -w wordlists/\*.txt -t 20
\# Geniş jitter aralığı ile yavaş ve gizli tarama
python3 glassfuzz.py -u https://example.com -w wordlists/common.txt --jitter-min 500 --jitter-max 2000
\# Double URL encoding ile WAF bypass
python3 glassfuzz.py -u https://example.com -w wordlists/api.txt --encoder double-url
\# Sadece 200 ve 403 dönen sayfaları göster
python3 glassfuzz.py -u https://example.com -w wordlists/\*.txt --match-codes 200,403
\# Tüm istekleri göster (404'ler dahil)
python3 glassfuzz.py -u https://example.com -w wordlists/common.txt -v
\# Sonuçları kaydet ve resume özelliğini kullan
python3 glassfuzz.py -u https://example.com -w wordlists/\*.txt -o sonuc
\# ... Ctrl+C ile durdurursan ...
python3 glassfuzz.py -u https://example.com -w wordlists/\*.txt -o sonuc --resume sonuc.resume.json
| Parametre | Açıklama | Varsayılan |
|---|---|---|
-u, --url |
Hedef URL (zorunlu) | — |
-w, --wordlist |
Wordlist dosyası/dosyaları (zorunlu) | — |
-t, --threads |
Eş zamanlı thread sayısı | 10 |
--jitter-min |
Minimum gecikme (ms) | 100 |
--jitter-max |
Maksimum gecikme (ms) | 500 |
--timeout |
İstek zaman aşımı (saniye) | 10 |
--encoder |
Payload kodlama: none, double-url, base64 |
none |
--follow-redirects |
Yönlendirmeleri takip et | kapalı |
--match-codes |
Sadece bu durum kodlarını göster (örn: 200,301) |
tümü |
--filter-codes |
Bu durum kodlarını gizle (örn: 404,500) |
404 |
-o, --output |
Çıktı dosyası ön eki | — |
--resume |
Kaldığı yerden devam etmek için state dosyası | — |
--verify-ssl |
SSL sertifikasını doğrula | kapalı |
--no-color |
Renkli çıktıyı kapat | kapalı |
-v, --verbose |
404 dahil tüm istekleri göster | kapalı |
--version |
Sürüm bilgisi | — |
Proje ile birlikte 5 adet wordlist gelir:
| Dosya | İçerik | Adet |
|---|---|---|
common.txt |
En kritik/değerli dizin ve dosyalar | ~90 |
directories.txt |
Kapsamlı dizin listesi | ~150 |
files.txt |
Yaygın dosyalar (.env, backup vb.) | ~130 |
api.txt |
API uç noktaları | ~80 |
backup.txt |
Yedekleme ve arşiv dosyaları | ~50 |
Daha büyük wordlist'ler için:
-
User-Agent Rotasyonu: Her istekte 20 farklı gerçek tarayıcı User-Agent'ından rastgele seçilir
-
Jitter: İki istek arasına rastgele gecikme eklenir, bu sayede otomatik tarama pattern'i oluşmaz
-
Adaptif Hız Kontrolü: 3 ardışık 403/429 tespitinde gecikme 1.5x artar, 10 kata kadar yavaşlar ve cooldowna girer.
-
Payload Kodlama:
double-urlvebase64ile imza tabanlı filtreler atlatılır. -
HTTP Header Çeşitliliği: Accept-Language gibi başlıklar da rastgele değiştirilir
\[200\] /admin (Length: 1234) - Admin Panel
\[301\] /api (Length: 0) -\> /api/
\[403\] /config (Length: 567)
\{
"scan\_date": "2025-01-01 12:00:00",
"total\_results": 3,
"results": \[
\{"path": "admin", "status": 200, "length": 1234, "title": "Admin Panel", "redirect": null\}
\]
\}
MIT License