Günümüz web uygulamalarının güvenlik testlerinde, hedef sistem hakkında mümkün olduğunca fazla bilgi toplanması, başarılı bir sızıntı testinin yapılabilmesi sağlanır. İşte bu noktada Waybackurls , güvenlik araştırmacılarının ve sızma testi uzmanlarının vazgeçilmez araçlarından biri haline geldi. Peki, bu araç nedir ve neden bu kadar değerlidir?
Tom Hudson (tomnomnom) tarafından bu araç, bug bounty avcıları ve penetrasyon testörleri için özel olarak tasarlanmıştır. Wayback Machine'in CDX API'sine sorgular göndererek, belirli bir alan adına ait geçmişe ait tüm URL'leri kalıcı ve standart olarak sunulur.
waybackurls example.com
Birden fazla alan adı için:
cat domains.txt | waybackurls
waybackurls example.com | grep "\\.php$"
Sadece JavaScript dosyaları:
waybackurls example.com | grep "\\.js$"
Bu komut, potansiyel XSS veya SQLi noktaları için aday olan parametreli URL’leri gösterir .
waybackurls example.com | grep -Ei "admin|login|dashboard"
API endpoint’leri:
waybackurls example.com | grep -Ei "api|v1|v2"
veya manuel
cat all_urls.txt | grep -E "(redirect|url=|next=|target=|return=)"
Bu şekilde bulunan endpoint’ler Open Redirect zafiyeti için test edilebilir .
Sadece halen aktif olan (HTTP yanıtı veren) URL’leri listeler .
Bu komut, Waybackurls ile toplanan PHP/ASP uzantılı ve parametre içeren URL’leri SQLMap ile test eder .
Bir güvenlik araştırmacısı, hedef bir şirket faaliyetlerinde SSRF (Sunucu Tarafı İstek Sahteciliği) zafiyeti aramaktadır. Araştırmacı, hedefin proxy uç noktası'nı keşfeder: https://company.com/proxy. Bu uç nokta, kullanıcıdan bir URL almakta ve bu URL'ye sunucu tarafından istek göndererek sonuç döndürmemektedir.
waybackurls example.com | sort -u
2. Farklı kaynaklardan gelen URL'leri birleştirin:
cat waybackurls.txt gau.txt katana.txt | sort -u | anew all_urls.txt
3. Büyük hedeflerde iplik parçalarıyla set (Python versiyonu için):
python waybackurls.py -t 10 example.com
4. Sonuçları sektöre özel anahtar kelimelerle filtreleyin:
cat urls.txt | gf xss
cat urls.txt | gf sqli
cat urls.txt | gf ssrf
cat urls.txt | gf redirect
Ancak uç nokta bir beyaz liste kontrolü sağlıyor. Araştırmacı, Waybackurls kullanarak hedefin alt alan reklamlarını ve eski endpoint'lerini tarar. Daha sonra grep "=http"ile açık yönlendirme ihtimali olan URL'leri filtreler. Beyaz listedeki alan adlarından birinde açık yönlendirme bulur ve bunu kullanarak SSRF zafiyetini başarıyla kullanır.
Bu senaryo, Waybackurls'in sadece URL içeriğinden ibaret olmadığını, doğru dağıtım ve dağıtımlarla nasıl kritik zafiyetlerin keşfedilmesini sağlayabileceğini göstermektedir.
Waybackurls Nedir?
Waybackurls, İnternet Arşivi (Internet Archive) tarafından çalıştırılan Wayback Machine servisinde arşivlenmiş/indekslenmiş alan reklamlarına ait URL'leri toplamak için kullanılır, Go programlama diliyle geliştirilmiş açık kaynaklı bir komut satırı aracıdır.Tom Hudson (tomnomnom) tarafından bu araç, bug bounty avcıları ve penetrasyon testörleri için özel olarak tasarlanmıştır. Wayback Machine'in CDX API'sine sorgular göndererek, belirli bir alan adına ait geçmişe ait tüm URL'leri kalıcı ve standart olarak sunulur.
Nasıl Çalışır?
Waybackurls, kendisine verilen alan adını alır, Wayback Machine'in devasa arşivinde bu alan adıyla ilgili kayıtlıdırlar ve bulduğu tüm URL'leri sorgulanarak liste halinde döner. Bu URL'ler, sitenin güncel sürümünde mevcut olmayan, ancak geçmişte erişilebilir olan:- Eski API uç noktalarını
- Yönetici panellerini
- Yedekler
- Kaldırılmış ama hala açıkta kaldığı sayfalar
- Hassas bilgiler içerebilecek eski kayıtlar
Web Sızma Testlerinde Waybackurls Kullanımı
Waybackurls, özellikle sızma testlerinin keşif (reconnaissance) aşamasında kritik bir role sahiptir. İşte bu aracı değerli kılan başlıca kullanım alanları:1. Subdomain (Alt Alan Adı) Keşfi
Waybackurls, hedef alan adının tüm alan adlarını bulmak için etkili bir yöntem sunar. Wayback Machine, yıllar içindeki subdomain.hedef.comgibi yapılar arşivlenmiş olabilir. Bu sayede ana alan adı üzerinde doğrudan bağlantı olmayan veya unutulmuş alt alan adları keşfedilebilir.2. Gizli Endpoint'lerin Ortaya Çıkarılması
Web uygulamalarının eski sürümlerinde bulunan, ana navigasyonda yer alan ancak erişilebilir durumda olan endpoint'ler, güvenlik testlerinde altın değerindedir. Bu endpoint'ler:- /admin, /dashboardgibi yönetim panelleri
- /api/v1, /api/v2gibi API uç etiketleri
- .bak, .old, .backupgibi yedek dosyalar
- .zip, .tar, .gzgibi arşiv dosyaları
3. Parametre Tespiti ve Zafiyet Avcılığı
Waybackurls ile sağlanan URL'ler, içerdikleri etkiyi arttırır, XSS, SQL Injection, SSRF, Open Redirect gibi zafiyetler için potansiyel noktalar bulunabilir .Parametreler ve Örnek Kullanımlar
Waybackurls'in temel kullanımı oldukça yaygın. İşte etkisi ve pratik kullanım örnekleri:Temel Kullanım
Tek bir alan adı için tüm arşivlenmiş URL'leri çekiyor:waybackurls example.com
Birden fazla alan adı için:
cat domains.txt | waybackurls
Pratik Kullanım Örnekleri
1. Çıktıyı Dosyaya Kaydetme
waybackurls example.com > urls.txt2. Benzersiz URL’leri Filtreleme
waybackurls example.com | sort -u > unique_urls.txt3. Belirli Dosya Türlerini Filtreleme
Sadece PHP dosyaları:waybackurls example.com | grep "\\.php$"
Sadece JavaScript dosyaları:
waybackurls example.com | grep "\\.js$"
4. Parametre İçeren URL’leri Bulma
waybackurls example.com | grep "?"Bu komut, potansiyel XSS veya SQLi noktaları için aday olan parametreli URL’leri gösterir .
5. İlginç Endpoint’leri Filtreleme
Admin/login sayfaları:waybackurls example.com | grep -Ei "admin|login|dashboard"
API endpoint’leri:
waybackurls example.com | grep -Ei "api|v1|v2"
6. Yedek ve Hassas Dosyaları Bulma
waybackurls example.com | grep -Ei "\\.bak|\\.old|\\.backup|\\.zip|\\.tar|\\.gz|\\.sql|\\.env"7. Açık Yönlendirme (Open Redirect) Parametrelerini Bulma
waybackurls example.com | gf redirectveya manuel
cat all_urls.txt | grep -E "(redirect|url=|next=|target=|return=)"
Bu şekilde bulunan endpoint’ler Open Redirect zafiyeti için test edilebilir .
8. Aktif URL’leri Tespit Etme (httpx ile kombinasyon)
waybackurls example.com | httpxSadece halen aktif olan (HTTP yanıtı veren) URL’leri listeler .
9. Nuclei ile Zafiyet Taramas
waybackurls example.com | nuclei -t vulnerabilities/10. SQLMap ile Otomatik Test (Gelişmiş Kullanım
waybackurls target.com | grep -E 'https?://[^ ]+?=[^ ]+' | grep -E '\\.php|\\.asp|\\.aspx' | sed 's/=[^&]*/=/g' | sort -u | tee urls.txt | xargs -I{} sqlmap --technique=T -p all --batch -u "{}"Bu komut, Waybackurls ile toplanan PHP/ASP uzantılı ve parametre içeren URL’leri SQLMap ile test eder .
Diğer Araçlarla Kombinasyonu
Waybackurls, diğer araçlarla birleştirildiğinde çok daha güçlü hale gelir:- Gau/Gauplus: AlienVault OTX, Common Crawl, URLScan gibi farklı kaynaklardan da URL toplar
- Waymore : URL'lerin yanı sıra arşivlenmiş yanıtlar da indirilebilir, geliştirici değişiklikleri ve ek etki etkileri
- GF (Gf Patterns) : XSS, SQLi, SSRF, LFI gibi zafiyet türlerine özgü filtreler
- Httpx : Aktif URL'leri tespit eder
- Çekirdek : Toplanan URL'lerde otomatik zafiyet taraması yapar
Gerçek Dünya Kullanım Senaryosu
Waybackurls'in gerçek bir sızıntı testindeki anlaşılması için bir örnek senaryoyu inceleyelim:Bir güvenlik araştırmacısı, hedef bir şirket faaliyetlerinde SSRF (Sunucu Tarafı İstek Sahteciliği) zafiyeti aramaktadır. Araştırmacı, hedefin proxy uç noktası'nı keşfeder: https://company.com/proxy. Bu uç nokta, kullanıcıdan bir URL almakta ve bu URL'ye sunucu tarafından istek göndererek sonuç döndürmemektedir.
Yazılımı ve En İyi Uygulamalar
1. Her zaman URL'leri temizleyin ve tekrarlardan arındırın:waybackurls example.com | sort -u
2. Farklı kaynaklardan gelen URL'leri birleştirin:
cat waybackurls.txt gau.txt katana.txt | sort -u | anew all_urls.txt
3. Büyük hedeflerde iplik parçalarıyla set (Python versiyonu için):
python waybackurls.py -t 10 example.com
4. Sonuçları sektöre özel anahtar kelimelerle filtreleyin:
- Finans: account, balance, transfer,transaction
- E-ticaret: cart, checkout, order,invoice
- Sağlık: patient, record,diagnosis
cat urls.txt | gf xss
cat urls.txt | gf sqli
cat urls.txt | gf ssrf
cat urls.txt | gf redirect
Ancak uç nokta bir beyaz liste kontrolü sağlıyor. Araştırmacı, Waybackurls kullanarak hedefin alt alan reklamlarını ve eski endpoint'lerini tarar. Daha sonra grep "=http"ile açık yönlendirme ihtimali olan URL'leri filtreler. Beyaz listedeki alan adlarından birinde açık yönlendirme bulur ve bunu kullanarak SSRF zafiyetini başarıyla kullanır.
Bu senaryo, Waybackurls'in sadece URL içeriğinden ibaret olmadığını, doğru dağıtım ve dağıtımlarla nasıl kritik zafiyetlerin keşfedilmesini sağlayabileceğini göstermektedir.
Sınırlamalar ve Dikkat Edilmesi Gerekenler
Waybackurl'lerin önünde aşağıdaki sınırlamaları göz önünde bulundurmak önemlidir:- Arşiv Kapsamı : Sonuçlar, Wayback Machine'in ne kadar kapsamlı arşivlendiğine bağlıdır. Onun sitesi tam olarak arşivlenmiş olabilir.
- Güncellik : Dönen URL'ler artık canlı sitede mevcut olmayabilir.
- Tekrar Eden URL'ler : Çıktıda birçok benzer veya tekrar eden URL bulunabilir.
- Rate Limiting : Büyük sorgular için hız sınırlaması uygulanabilir.
- Etik Kullanım : Toplanan URL'lerin test edilmesi sırasında hedef sistem kullanım şartlarına ve yasal düzenlemelere uyulmalıdır.