İstemci tarafı açıklar: XSS, IDOR ve kimlik doğrulama savunması
XSS, oturum ve erişim denetimi hataları ve düzeltmeleri.
Seviye 301 · 17 ders · 15 pratik lab
Dersler
XSS
- XSS nedir ve neden olur: XSS'in, kullanıcıdan gelen metnin sayfada kod gibi çalışması olduğunu ve neden olduğunu anlayacaksın.
- Saklanan ve yansıyan XSS: farkları ve tespiti: Saklanan ve yansıyan XSS'in farkını, her birinin nerede ortaya çıktığını ve günlüklerde nasıl tespit edileceğini öğreneceksin.
- DOM tabanlı XSS: tarayıcıdaki betikte veriyi güvenle işlemek: Sayfadaki JavaScript’in adres çubuğundan aldığı veriyi güvensiz yerlere yazdığı noktaları bulup güvenli yöntemlerle değiştirebileceksin.
- XSS'i çıktı kodlamasıyla kapatmak: Çıktı kodlamasının veriyi sayfada zararsız metin olarak göstererek XSS'i nasıl kapattığını kendi kodunda uygulayacaksın.
- İçerik güvenliği politikası ve çerez bayrakları: İçerik güvenliği politikası (CSP) ve çerez bayraklarının, bir açık olsa bile zararı nasıl sınırladığını öğrenip ayarlayacaksın.
- Kısa görev: lab uygulamasındaki saklanan XSS’i kapat ve CSP ile ikinci bir katman ekle
İstek sahteciliği ve erişim
- CSRF: istek sahteciliğini belirteç ve SameSite çerezle önlemek: Kullanıcının haberi olmadan gönderilen istekleri anlayıp formlara belirteç ekleyerek ve çerezleri SameSite ile kısıtlayarak önleyebileceksin.
- Erişim denetimi ve IDOR'u kapatmak: Kullanıcının başkasının verisine yalnızca bir numarayı değiştirerek erişmesini engelleyen sunucu tarafı erişim denetimini kurmayı öğreneceksin.
- Belirteç tabanlı API kimlik doğrulaması: Belirteç tabanlı API kimlik doğrulamasının nasıl çalıştığını ve belirteçlerin süresini, kapsamını ve saklanmasını güvenli yönetmeyi öğreneceksin.
- Kısa görev: bir IDOR ve bir CSRF açığını kanıtla ve kapat
Kimlik doğrulama
- Giriş formunu korumak: hız sınırı ve doğrulama: Giriş formunu hız sınırı ve ek doğrulamalarla korumayı, hesap ele geçirmeye karşı hangi önlemlerin işe yaradığını öğreneceksin.
- Oturum yönetimi: Oturumların nasıl oluşturulduğunu, süresinin nasıl sınırlanacağını ve çıkışta nasıl güvenle sonlandırılacağını öğreneceksin.
- Parola sıfırlama akışını güvenli kurmak: tek kullanımlık, süreli bağlantı: Parola sıfırlama bağlantısının tahmin edilemez, tek kullanımlık ve kısa ömürlü olmasını sağlayıp akışı testlerle doğrulayabileceksin.
- Kısa görev: parola sıfırlama bağlantısını tek kullanımlık ve süreli yap
Zincirler
- Zincirlenen zayıflıklar ve derinlemesine savunma: Küçük zayıflıkların birleşince nasıl büyük sorun yarattığını görüp katmanlı savunmanın bunu nasıl durdurduğunu anlayacaksın.
- Zincirlenmiş bir saldırıyı günlüklerde adım adım izlemek
- Bitirme görevi: istemci tarafı ve kimlik denetimi: Bitirme görevinde kurgusal bir şirketin web uygulamasında XSS, oturum ve erişim denetimi hatalarını gözden geçirip düzeltme önerilerini raporlayacaksın.
Pratik lablar
- Saklanan XSS'i kapat, CSP ekle: Ürün yorumlarındaki saklanan XSS'i çıktı kodlamasıyla kapat ve ikinci katman olarak sıkı bir CSP ekle.
- DOM XSS: URL parametresinden betik: Yönlendirme sayfasındaki betiğin URL parametresini güvensiz işlediğini kanıtla ve güvenli API ile yeniden yaz.
- HttpOnly olmayan oturum çerezi ve XSS: Bir XSS'in oturum çerezini okuyabildiğini lab'da göster, çerez bayraklarını düzelt ve XSS'i de kapat.
- Saklanan ve yansıyan: aynı alan, iki yol: Aynı girdinin bir sayfada yansıyan, diğerinde saklanan XSS'e yol açtığını göster ve ortak çıktı yardımcısıyla iki yolu da kapat.
- Profil silmede CSRF ve IDOR: Profil silme işleminin hem CSRF'ye hem kimlik değiştirmeye açık olduğunu kanıtla ve iki açığı birlikte kapat.
- API belirtecini yanlış yerde doğrulamak: Bir uç noktanın belirteci yalnızca var mı diye kontrol ettiğini, kime ait olduğuna bakmadığını kanıtla ve doğrulamayı tamamla.
- SameSite ayarı ve belirteç birlikte: SameSite ayarı olmayan bir uygulamada belirteç ve SameSite=Lax'ı birlikte uygula ve iki katmanın ayrı ayrı çalıştığını göster.
- Mesaj arşivinde yatay yetki aşımı: Mesaj arşivi API'sinde konuşma kimliğiyle başka kullanıcıların mesajlarına erişildiğini kanıtla ve katılımcı kontrolünü veri katmanına ekle.
- Hız sınırı olmayan giriş formu: Giriş formunun sınırsız deneme kabul ettiğini kanıtla ve IP ile hesap başına sınır ekle.
- Tekrar kullanılabilen sıfırlama bağlantısı: Parola sıfırlama bağlantısının birden çok kez ve süresiz çalıştığını göster ve tek kullanımlık, süreli yap.
- Sıfırlama belirteci yanıtta sızıyor: Sıfırlama isteği yanıtında belirtecin döndüğünü bul, kaldır ve bu sızıntıyı yakalayan bir test ekle.
- Oturum yönetiminde üç zaaf: Bir uygulamadaki sabitleme, uzun ömür ve çıkış zaaflarını bul, üçünü kapat ve yeniden testle kanıtla.
- Zincirlenmiş saldırıyı günlükte izle: Web ve uygulama günlüklerinde XSS ile başlayıp yetki aşımıyla biten bir zinciri adım adım zaman çizelgesine dök.
- Zinciri en ucuz halkadan kır: Üç halkalı bir saldırı zincirinde her halkanın düzeltme maliyetini değerlendir ve zinciri en hızlı kıran düzeltmeyi uygula.
- İstemci tarafı ve kimlik denetimi: Ostria Forum: Kurgusal Ostria Forum'da XSS, CSRF, IDOR ve oturum zaaflarını denetle, kapat ve derinlemesine savunma katmanlarını belgele.
Kurs hakkında
XSS, oturum ve erişim denetimi hataları ve düzeltmeleri.
Ne öğreneceksin
- XSS
- İstek sahteciliği ve erişim
- Kimlik doğrulama
- Zincirler
Ö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 masaüstünde geçer; araçlar pencereli arayüzleriyle hazırdır. Kurulum gerekmez, bilgisayar ekranı önerilir.
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.