Uygulamalı
API yetkilendirme test matrisi
Bir API uç noktası listesini kimlik-×-uç noktası matrisine dönüştür, ardından nesne düzeyinde (IDOR/BOLA) ve işlev düzeyinde (BFLA) yetkilendirmeyi birden fazla oturumla test et.
Amaç
Kimlik başına hangi uç noktaların erişilebilir olduğunu ve hangi nesne kimliklerinin hesaplar arasında sızdığını gösteren bir kapsam matrisi üret; her boşluğu puanlanmış bir bulguya dönüştür.
Ön koşullar
- Test etmeye yetkili olduğun bir API (kendi uygulaman ya da yetkili bir lab).
- Farklı yetki seviyelerinde en az iki kimlik doğrulamalı oturum.
- Matris hücresi başına istek çiftlerini kaydedecek bir yer (tablo ya da otomasyon betiği).
Ortam
- Önce uç noktaları envanterle (rota tablosu, OpenAPI spesifikasyonu veya gerçek trafiğin proxy kaydı).
- İki oturum: aynı ortamda düşük yetkili bir kullanıcı ve daha yüksek yetkili bir kullanıcı.
- Hesaplar arası erişim ölçülebilsin diye her nesne kimliğinin kiracısını/sahibini kaydet.
Adımlar
- 1
Matris iskeletini kur
Satırlar kimlikler, sütunlar uç noktalar; her hücre belirli bir kimliğin aldığı durumu kaydeder. Yüzeyi tahmin etmek yerine gerçek trafikten başla.
- 2
Nesne düzeyinde yetkilendirmeyi test et
Düşük yetkili oturumla, yüksek yetkili hesaba ait nesne kimliklerini iste. Başka bir hesabın verisiyle gelen 200 bir IDOR/BOLA bulgusudur; tam istek çiftini kaydet.
- 3
İşlev düzeyinde yetkilendirmeyi test et
Düşük yetkili oturumdan ayrıcalıklı uç noktaları (yönetici işlemleri, yıkıcı işlemler) çağır. Yan etkiyi kontrol ederek “erişilebilir ama zararsız” ile “erişilebilir ve etkili”yi ayırt et.
- 4
Boşlukları puanla ve kaydet
Doğrulanan her boşluğu, yeniden üretim adımları ve kanıtla puanlanmış bir bulguya dönüştür ki önem derecesi matris boyunca karşılaştırılabilir olsun.
Nasıl doğrulanır
- Her uç noktanın en az iki kimlik için kaydedilmiş bir durumu vardır.
- Hesaplar arası her 200, varsayım değil kaydedilmiş bir istek çiftiyle desteklenir.
- Doğrulanan boşluklar bir puan ve rapor için tek satırlık bir etki taşır.