REST API güvenliğinin temelleri
Bir REST API’nin uç noktalarını ve OpenAPI tanımını okur, nesne düzeyinde yetkilendirme ve fazla veri ifşası gibi temel hataları Burp ile tanır, kodda düzeltir ve ağ geçidi günlüklerinde izlersin.
Seviye 201 · 15 ders · 13 pratik lab
Dersler
API’yi tanımak
- REST’in temelleri: kaynaklar, yöntemler ve durum kodları
- OpenAPI tanımını okumak: uç noktalar, şemalar ve güvenlik şemaları
- API trafiğini Burp ve Postman ile incelemek
- API envanteri: sürümler, gölge ve unutulmuş uç noktalar
- Kısa görev: lab API’sinin uç nokta envanterini çıkar
Kimlik ve yetki
- API anahtarları ve taşıyıcı belirteçler: farkları ve riskleri
- Nesne düzeyinde yetkilendirme: her kayıtta sahiplik kontrolü
- Fazla alan kabul eden uç noktalar ve şemaya bağlı girdi
- Gereğinden fazla veri dönen yanıtlar
- Kısa görev: başka bir kullanıcının siparişini dönen uç noktayı bul ve düzelt
Dayanıklılık ve izleme
- Hız sınırı ve kota: kaynak tüketimini önlemek
- Şema doğrulama ve içerik türü kontrolü
- Hata yanıtlarında sızan iç bilgiler
- API ağ geçidi günlükleri ve anormal kullanım
- Bitirme görevi: bir sipariş API’sini denetle, düzelt ve yeniden test et
Pratik lablar
- OpenAPI dosyasından risk listesi: Lab API'sinin OpenAPI dosyasını okuyarak kimlik doğrulama istemeyen ve hassas veri dönen uç noktaları işaretle.
- Gölge uç nokta: belgede yok, trafikte var: Ağ geçidi günlüğünü belgeyle karşılaştırarak belgelenmemiş bir uç nokta bul ve kapatma ya da belgeleme kararını uygula.
- Postman koleksiyonundaki unutulmuş sürüm: Paylaşılan bir istek koleksiyonunda hâlâ çalışan eski bir API sürümünü bul ve kullanımdan kaldırma adımlarını uygula.
- Uç nokta envanteri ve risk sıralaması: Kurgusal Selvara Market API'sinin tüm uç noktalarını sürüm, yetki ve veri hassasiyetine göre envantere al ve ilk üç riski düzelt.
- Başkasının siparişini dönen uç nokta: /orders/{id} uç noktasının başka kullanıcının siparişini döndüğünü kanıtla ve sahiplik kontrolünü ekle.
- Gereğinden fazla veri dönen kullanıcı listesi: Kullanıcı listesi yanıtında e-posta, telefon ve iç notların döndüğünü göster ve yanıtı rol bazlı şemayla daralt.
- Fazla alan kabul eden ürün güncellemesi: Ürün güncelleme isteğine eklenen stok ve onay alanlarının kabul edildiğini kanıtla ve şemaya bağlı girdi doğrulaması ekle.
- Anahtar ile belirteç farkı: Kullanıcı adına işlem yapan bir uç noktanın yalnızca uygulama anahtarıyla çalıştığını göster ve kullanıcı belirtecini zorunlu kıl.
- İç içe kaynakta yetki: sepet kalemleri: /baskets/{id}/items yolunda üst kaynak kontrol edilip alt kaynağın kontrol edilmediğini kanıtla ve her iki düzeyde sahiplik ekle.
- Hata yanıtında yığın izi: Geçersiz JSON gönderildiğinde dönen yığın izini bul ve genel bir hata gövdesiyle değiştir.
- Sayfa boyutu sınırı yok: limit parametresine çok büyük değer verilince tüm tablonun döndüğünü kanıtla ve üst sınır ile sayfalama zorunluluğu ekle.
- Ağ geçidinde hız sınırı ve kota: Ağ geçidinde anahtar başına hız sınırı ve günlük kota tanımla ve sınırı aşan istemcinin 429 aldığını göster.
- Ağ geçidi günlüğünde anormal API kullanımı: Ağ geçidi günlüğünde bir anahtarın sıralı kimliklerle veri topladığını bul ve bu deseni yakalayan bir uyarı kuralı yaz.
Kurs hakkında
Bir REST API’nin uç noktalarını ve OpenAPI tanımını okur, nesne düzeyinde yetkilendirme ve fazla veri ifşası gibi temel hataları Burp ile tanır, kodda düzeltir ve ağ geçidi günlüklerinde izlersin.
Ne öğreneceksin
- API’yi tanımak
- Kimlik ve yetki
- Dayanıklılık ve izleme
Ö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.