Sunucu tarafı açıklar: SSRF, XXE, JWT ve savunma
SSRF, XXE, JWT hataları ve dosya yükleme güvenliği: nasıl olur, nasıl kapatılır.
Seviye 301 · 15 ders · 14 pratik lab
Dersler
Sunucu adına yapılan istekler
- SSRF: sunucunun adına istek yapılması: SSRF'nin, sunucunun saldırgan adına başka adreslere istek yapması anlamına geldiğini ve neden tehlikeli olduğunu anlayacaksın.
- SSRF'ye karşı: izin listeleri ve ağ kuralları: İzin listeleri ve ağ kurallarıyla sunucunun gidebileceği adresleri sınırlayıp SSRF'yi nasıl kapatacağını öğreneceksin.
- Bulut üst veri servisini korumak: Bulut sunucularındaki üst veri servisinin neden hassas olduğunu ve ona erişimin nasıl kısıtlanacağını öğreneceksin.
- Kısa görev: lab uygulamasında URL alan özelliği bul ve izin listesiyle kapat
Ayrıştırıcılar ve şablonlar
- XML ayrıştırma riskleri (XXE) ve kapatılması: XML ayrıştırıcılarının dış kaynakları okuma özelliğinden doğan riski (XXE) anlayıp güvenli ayarlarla kapatmayı öğreneceksin.
- Şablon enjeksiyonu (SSTI): kullanıcı girdisini şablondan ayırmak: Kullanıcı girdisinin sunucu şablonunda kod gibi işlenmesini fark edip girdiyi yalnızca veri olarak aktararak bu açığı kapatabileceksin.
- Güvensiz serileştirme: pickle ve benzeri biçimleri güvenle işlemek: Dışarıdan gelen serileştirilmiş verinin neden tehlikeli olduğunu anlayıp JSON ve imza denetimiyle daha güvenli bir yapıya geçebileceksin.
- Kısa görev: XML, şablon ve serileştirme açıklarından birini seç, kanıtla ve kapat
Belirteçler ve dosyalar
- JWT yapısı ve doğru doğrulama: JWT belirtecinin üç parçasını, imzanın ne işe yaradığını ve sunucuda doğru doğrulamanın nasıl yapıldığını öğreneceksin.
- JWT hataları: imzasız belirteç, zayıf anahtar: İmzasız belirteç kabul etmek ve zayıf anahtar kullanmak gibi JWT hatalarını kodda ve ayarlarda tanıyıp düzeltmeyi öğreneceksin.
- Dosya yükleme güvenliği: Dosya yükleme özelliğini tür, boyut, ad ve saklama yeri kontrolleriyle güvenli hale getirmeyi öğreneceksin.
- Kısa görev: imzası doğrulanmayan bir JWT’yi kanıtla ve doğrulamayı düzelt
Bütünü görmek
- Sunucu tarafı saldırı izleri: SSRF, XML ve dosya yükleme saldırılarının günlüklerde bıraktığı izleri tanıyıp uyarı kuralları düşünebileceksin.
- Sunucu tarafı riskler için kısa tehdit incelemesi
- Bitirme görevi: bir servisi sunucu tarafı açıklara karşı sertleştir: Bitirme görevinde kurgusal bir şirketin servisini SSRF, XML, JWT ve dosya yükleme risklerine karşı sıkılaştırıp sonucu raporlayacaksın.
Pratik lablar
- Bağlantı önizlemesi iç servise gidiyor: Bağlantı önizleme özelliğinin iç ağdaki yönetim servisine istek attığını kanıtla ve alan adı izin listesi ekle.
- Bulut üst veri servisini koru: Lab'daki sahte üst veri uç noktasına uygulama üzerinden erişilebildiğini göster ve ağ kuralı ile oturum belirteci zorunluluğuyla kapat.
- Web kancası özelliğinde iç ağ taraması: Web kancası adresinin iç ağ portlarını yoklamak için kullanılabildiğini yanıt sürelerinden göster ve çıkış kurallarıyla engelle.
- XML içe aktarmada dış varlık: Ürün içe aktarma özelliğinin dış varlıkları çözdüğünü kanıtla ve ayrıştırıcıda DTD işlemeyi kapat.
- Davet e-postası şablonunda SSTI: Kullanıcının düzenleyebildiği davet metninin şablon olarak işlendiğini kanıtla ve metni şablona veri olarak geçir.
- Çerezde pickle ile taşınan tercih: Tercih çerezinin pickle ile serileştirildiğini tanı, riskini zararsız bir kanıtla göster ve imzalı JSON'a geçir.
- Üç ayrıştırıcı, bir servis: XML, şablon ve serileştirme kullanan bir rapor servisinde açık olanı bul, kapat ve diğer ikisinin güvenli olduğunu testle göster.
- İmzası doğrulanmayan JWT: Sunucunun JWT imzasını kontrol etmediğini rol değiştirerek kanıtla ve doğrulamayı kütüphanenin güvenli işleviyle düzelt.
- alg none kabul eden doğrulama: İmzasız belirteci kabul eden yapılandırmayı bul ve izin verilen algoritmayı sabitle.
- Zayıf JWT anahtarı: Sözlükteki bir kelimeyle imzalanan belirteci lab'da tespit et, anahtarı güçlü rastgele değerle değiştir ve eski belirteçleri iptal et.
- Yüklenen dosya sunucuda çalışıyor: Yükleme klasörünün betik çalıştırdığını zararsız bir dosyayla kanıtla, çalıştırmayı kapat ve depolamayı ayır.
- SSRF izi çıkış günlüğünde: Çıkış vekili günlüğünde uygulama sunucusunun iç adreslere yaptığı beklenmeyen istekleri bul ve tetikleyen isteği web günlüğünden eşleştir.
- Sunucu tarafı riskler için hızlı tehdit incelemesi: Bir PDF üretim servisinin girdilerini listeleyip SSRF, XXE ve SSTI risklerini değerlendir ve en yüksek riski kapat.
- Bir servisi sunucu tarafı açıklara karşı sertleştir: Kurgusal Vendaro Fatura servisinde SSRF, XXE ve JWT zaaflarını kapat, her biri için tespit kuralı ekle ve yeniden test et.
Kurs hakkında
SSRF, XXE, JWT hataları ve dosya yükleme güvenliği: nasıl olur, nasıl kapatılır.
Ne öğreneceksin
- Sunucu adına yapılan istekler
- Ayrıştırıcılar ve şablonlar
- Belirteçler ve dosyalar
- Bütünü görmek
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
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 301 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.