ffuf ve vekil sunucularla web yüzeyi denetimi
Kendi uygulamanın dış yüzeyini görmek, sızan bilgileri ve açıkta kalanları kapatmak.
Seviye 201 · 21 ders · 18 pratik lab
Dersler
Kapsam ve araçlar
- Web testinin kapsamı ve izni: Bir web uygulamasını test etmeden önce kapsamı ve yazılı izni belirlemenin neden gerekli olduğunu anlayacaksın.
- curl ile HTTP'yi elle konuşmak: ham yanıtlar: curl ile kendi uygulamana istek gönderip ham HTTP yanıtlarını okumayı ve başlıklarda neler olduğunu anlamayı öğreneceksin.
- Burp Suite ve ZAP: araya giren vekil sunucuyla kendi uygulamanın trafiği: Araya giren bir vekil sunucuyla kendi uygulamanın tarayıcı ve sunucu arasındaki trafiğini görmeyi ve incelemeyi öğreneceksin.
- Kısa görev: vekil sunucuda lab uygulamasının kapsamını tanımla ve gürültüyü süz
Teknoloji parmak izi
- Yanıt başlıklarından ve çerez adlarından teknoloji tanımak
- Hata sayfaları, varsayılan dosyalar ve sürüm sızıntıları
- whatweb ve Wappalyzer ile yazılım yığınını tespit etmek
- JavaScript dosyaları ve kaynak haritalarından uç nokta çıkarmak
- Kısa görev: lab uygulamasının yığınını sürümleriyle çıkar ve sızıntıları kapat
İçerik keşfi
- ffuf ile gizli içeriğin açıkta kalması ve kapatılması: Uygulamada yanlışlıkla açıkta kalan yedek, yapılandırma ve gizli sayfaları fark edip kapatmayı öğreneceksin.
- ffuf ile unutulmuş sanal ana makineleri ve parametreleri denetlemek: Kendi sunucunda unutulmuş test sitelerini ve belgelenmemiş parametreleri ffuf ile bulup kapatılacakların listesini çıkarabileceksin.
- Yedek, .git ve .env dosyalarının açıkta kalması
- Unutulmuş API belgeleri: OpenAPI ve Swagger sayfaları
- curl ile API kimlik doğrulaması ve belirteçler: API'lerin kullanıcıyı anahtar ve belirteçlerle nasıl tanıdığını ve bunların güvenli kullanımının neye dikkat gerektirdiğini anlayacaksın.
- curl ve jq ile yanıtlarda sızan gizli bilgiler: Yanıtlarda ve hata mesajlarında yanlışlıkla sızan anahtar, sürüm ve iç bilgileri bulup kapatmayı öğreneceksin.
- Kısa görev: açıkta kalan üç dosyayı bul, kaldır ve sunucu kuralıyla engelle
Yüzeyi kapatmak ve izlemek
- curl ile güvenlik başlıkları ve çerez bayrakları: Güvenlik başlıklarını ve çerez bayraklarını kendi uygulamanda kontrol edip eksik olanları tamamlamayı öğreneceksin.
- ffuf taraması günlükte nasıl görünür: Web sunucusu günlüklerinde otomatik tarama izlerinin nasıl göründüğünü tanıyıp bunları normal ziyaretten ayıracaksın.
- Hız sınırı ve web uygulama güvenlik duvarı (WAF): Hız sınırı ve web uygulama güvenlik duvarının (WAF) şüpheli istekleri nasıl yavaşlatıp engellediğini ve nasıl ayarlanacağını öğreneceksin.
- Saldırı yüzeyi haritası: uç noktalar, roller ve girdiler
- Bitirme görevi: bir uygulamanın dış yüzey denetimi (ffuf, curl): Bitirme görevinde kurgusal bir şirketin web uygulamasının dış yüzeyini gözden geçirip sızan bilgileri ve açıkta kalanları raporlayacaksın.
Pratik lablar
- Yanıt başlıkları hangi yığını ele veriyor: Lab uygulamasının yanıt başlıklarından ve çerez adlarından sunucu ve çerçeveyi çıkar, sürüm sızdıran başlıkları kapat.
- Varsayılan hata sayfasındaki sürüm: Olmayan bir sayfa için dönen varsayılan hata sayfasında sızan sürümü bul ve özel bir hata sayfasıyla değiştir.
- Kaynak haritasından iç uç noktalar: Yayında unutulmuş bir kaynak haritasından iç API uç noktalarını çıkar, haritayı yayından kaldır ve uç noktaların korunduğunu doğrula.
- whatweb sonucunu doğrula ve sızıntıları kapat: whatweb çıktısındaki her teknoloji iddiasını elle doğrula, yanlış olanları ayıkla ve doğru olanların sızdığı her yeri kapat.
- Açıkta kalan .env dosyası: Lab sunucusunda erişilebilir kalan .env dosyasını bul, sunucu kuralıyla engelle ve içindeki gizli bilgilerin değiştirilmesi gerektiğini raporla.
- ffuf ile unutulmuş yönetim klasörü: ffuf ile kısa bir kelime listesi tarayarak unutulmuş bir yönetim klasörünü bul ve erişimini kimlik doğrulamaya bağla.
- Açık .git klasöründen kaynak kod: Web kökünde bırakılmış .git klasörünün kaynak kodu sızdırdığını kanıtla, klasörü kaldır ve tüm gizli dosyaları engelleyen kural ekle.
- Gizli sanal ana makine: staging: Host başlığıyla erişilen ve dışarıya açık kalmış staging sanal ana makinesini bul ve yalnızca iç ağa kısıtla.
- Gizli parametre: debug=1: ffuf ile parametre adlarını tarayarak hata ayıklama çıktısı açan gizli parametreyi bul, kodu düzelt ve yayın yapılandırmasında kapat.
- Herkese açık Swagger sayfası: Yetkisiz kullanıcıya açık kalan Swagger sayfasını bul ve belgeleri kimlik doğrulama arkasına taşı.
- jq ile yanıtta sızan iç alanlar: Profil API'sinin yanıtını jq ile süzerek parola özeti ve iç notlar gibi gereksiz alanları bul ve yanıt şemasını daralt.
- curl ile belirteçsiz çalışan uç nokta: curl ile belirteçli ve belirteçsiz istekleri karşılaştırarak kimlik doğrulama istemeyen bir API uç noktası bul ve korumaya al.
- OpenAPI dosyasında belgelenmemiş uç nokta: OpenAPI dosyasını gerçek trafikle karşılaştır, belgede olmayan bir uç noktayı bul ve ya kapat ya da belgeye yetki kuralıyla ekle.
- ffuf taraması erişim günlüğünde: Erişim günlüğünde bir içerik taramasını hız, 404 oranı ve User-Agent ile tanı ve başlangıç ile bitiş zamanını raporla.
- Giriş sayfasına hız sınırı: Giriş sayfasının sınırsız istek kabul ettiğini ölç, sunucu tarafında hız sınırı ekle ve ffuf ile sınırın devreye girdiğini göster.
- Tarama izleri için uyarı kuralı: Kısa sürede çok sayıda 404 üreten istemcileri yakalayan bir günlük sorgusu yaz ve sağlık kontrollerini yanlış alarmdan çıkar.
- Saldırı yüzeyi haritası: roller ve girdiler: Lab uygulamasının uç noktalarını, rollerini ve girdilerini tek bir tabloda çıkar ve en riskli üç noktayı gerekçesiyle sırala.
- Dış yüzey denetimi: Ardıç Sigorta portalı: Kurgusal Ardıç Sigorta portalının dış yüzeyini ffuf ve curl ile denetle, açıkta kalan üç şeyi kapat ve kapanışı yeniden taramayla kanıtla.
Kurs hakkında
Kendi uygulamanın dış yüzeyini görmek, sızan bilgileri ve açıkta kalanları kapatmak.
Ne öğreneceksin
- Kapsam ve araçlar
- Teknoloji parmak izi
- İçerik keşfi
- Yüzeyi kapatmak ve izlemek
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.