Erişim denetimi: IDOR ve yetki kontrolleri
Yetki kontrolünün kodda nerede unutulduğunu, IDOR ve yetki aşımını iki hesapla nasıl tanıyacağını ve merkezi bir politika katmanıyla nasıl kalıcı olarak kapatacağını öğrenirsin.
Seviye 201 · 16 ders · 14 pratik lab
Dersler
Kavramlar
- Erişim modelleri: RBAC, ABAC ve sahiplik kontrolü
- Yatay ve dikey yetki aşımı
- Kontrol nerede olmalı: ara katman, denetleyici ya da veri katmanı
- Varsayılan olarak reddet: unutulan uç noktalar
- Kısa görev: lab uygulaması için rol ve uç nokta erişim matrisini çıkar
Açıkları tanımak
- IDOR kodda nasıl doğar: kimliği istekten alıp sorgulamak
- Burp’te iki hesapla IDOR’u tanımak
- İşlev düzeyinde erişim: gizli yönetici uç noktaları
- Toplu atama: isteğe eklenen "role" alanı
- Çok kiracılı uygulamalarda kiracı yalıtımı
- Kısa görev: üç farklı erişim açığını kanıtla
Düzeltmek ve izlemek
- Merkezi yetkilendirme: tek bir politika katmanı
- Dolaylı başvurular ve tahmin edilemez kimlikler: neden tek başına yetmez
- Erişim denetimi için otomatik testler
- Reddedilen erişimleri günlüğe yazmak ve uyarı kurmak
- Bitirme görevi: çok rollü uygulamadaki erişim açıklarını kapat ve matrisle yeniden test et
Pratik lablar
- Sipariş numarasını değiştir: başkasının siparişi: İki hesapla sipariş detayına erişimi karşılaştır, başka kullanıcının siparişinin açıldığını kanıtla ve sahiplik kontrolü ekle.
- Dosya indirmede IDOR: Belge indirme bağlantısındaki kimliği değiştirerek başka müşterinin belgesine eriş ve indirme işlevini sahibe bağla.
- Güncelleme isteğinde IDOR: Adres güncelleme isteğindeki kayıt kimliğini değiştirerek başkasının adresinin değiştiğini kanıtla ve sorguya sahiplik koşulu ekle.
- Tahmin edilemez kimlik yetmez: Kimlikleri UUID'ye çevrilmiş ama sahiplik kontrolü olmayan bir uç noktada başka kullanıcının kimliğini yanıtlardan bulup eriş ve asıl düzeltmeyi yap.
- Kiracı yalıtımı: başka şirketin faturaları: Çok kiracılı uygulamada kiracı kimliğini değiştirerek başka şirketin verisine eriş ve kiracı filtresini veri katmanına taşı.
- Yönetici uç noktasına müşteri oturumuyla: Müşteri oturumuyla çağrılabilen bir yönetici uç noktasını bul ve varsayılan ret kuralıyla kapat.
- Profil güncellemesine eklenen role alanı: Profil güncelleme isteğine eklenen role alanının kabul edildiğini kanıtla ve güncellenebilir alanları izin listesine bağla.
- Yalnızca arayüzde gizlenen personel işlevi: Arayüzde gizlenmiş ama sunucuda korunmayan iade onayı işlevini müşteri hesabıyla çağır ve rol kontrolünü ekle.
- Toplu atamayla fiyat ve onay alanı: Sipariş oluşturma isteğinde fiyat ve onay alanlarının dışarıdan atanabildiğini göster, DTO ile alanları ayır ve testlerle doğrula.
- Unutulan eski uç nokta: /v1/users: Yeni sürümde korunan ama eski sürümde açık kalan kullanıcı listesi uç noktasını bul ve ortak yetki katmanına bağla.
- Rol ve uç nokta matrisini çıkar: Lab uygulamasının rollerini ve uç noktalarını tabloya dök ve beklenen ile gerçek erişimin ayrıştığı satırları işaretle.
- Dağınık kontrolleri tek politikaya taşı: Denetleyicilere dağılmış rol kontrollerini merkezi bir yetki katmanına taşı ve hiçbir uç noktanın dışarıda kalmadığını test et.
- Erişim denetimi için otomatik test: Her rol ve uç nokta çifti için beklenen sonucu deneyen bir test yaz ve kasıtlı bir hatayı yakaladığını göster.
- Reddedilen erişimlerden IDOR taraması: Reddedilen erişimleri günlüğe yazdır, sıralı kimlik deneyen bir kullanıcıyı yakalayan uyarı kur ve tekrar oynatılan trafikle test et.
Kurs hakkında
Yetki kontrolünün kodda nerede unutulduğunu, IDOR ve yetki aşımını iki hesapla nasıl tanıyacağını ve merkezi bir politika katmanıyla nasıl kalıcı olarak kapatacağını öğrenirsin.
Ne öğreneceksin
- Kavramlar
- Açıkları tanımak
- Düzeltmek 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 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 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.