Mobil arka uç API güvenliği
Uygulamanın konuştuğu API'yi kendi laboratuvarında denetlersin: uç noktaları APK'dan çıkarır, kimlik doğrulama, yetkilendirme, oturum, hız sınırı ve sürüm yönetimi hatalarını bulur, sunucu tarafında düzeltirsin.
Seviye 301 · 22 ders · 18 pratik lab
Dersler
Uç noktaları çıkarmak
- APK'dan uç nokta çıkarmak: Retrofit arayüzleri ve URL sabitleri
- API dökümü: OpenAPI belgesiyle gerçeği karşılaştırmak
- İstemciye güvenilmez: denetim sunucuda yapılır
- Kayıtlı istekleri curl ile yeniden üretmek
- Kısa görev: bir APK'dan uç nokta listesi çıkar ve belgelenmemiş olanları işaretle
Kimlik doğrulama ve oturum
- Mobilde belirteç tabanlı kimlik doğrulama: erişim ve yenileme belirteci
- Uygulamalar için OAuth: PKCE ve sistem tarayıcısı
- JWT doğrulama hataları: imza, süre, alıcı
- Çıkış, belirteç iptali ve cihaz listesi
- Tek kullanımlık kod ve cihaz bağlama
- Kısa görev: çıkıştan sonra hâlâ çalışan yenileme belirtecini sunucuda iptal ettir
Yetkilendirme ve iş mantığı
- Nesne düzeyinde yetkilendirme: başkasının kaydını okumak
- İşlev düzeyinde yetkilendirme: gizlenen yönetici uç noktaları
- Toplu atama ve gereğinden fazla veri döndürmek
- İstemcideki fiyat ve limit denetimini sunucuya taşımak
- Kısa görev: başkasının siparişini döndüren uç noktayı bul ve sahiplik denetimi ekle
Dayanıklılık ve işletim
- Hız sınırı ve kilitleme: giriş ve kod doğrulama uç noktaları
- API sürümleri ve eski istemciler: unutulan v1
- API anahtarları neden sır değildir ve uygulama doğrulaması
- API günlükleri: kötüye kullanımı fark etmek
- Kısa görev: kod doğrulama uç noktasına hız sınırı ekle ve günlükten doğrula
Bitirme
- Bitirme görevi: bir kurye uygulamasının API'sini denetle, düzelt ve yeniden test et
Pratik lablar
- APK'dan temel API adresini bul: jadx çıktısında istemcinin temel adresini ve sürüm yolunu bul.
- Retrofit arayüzünden uç nokta listesi çıkar: Yöntem, yol ve parametreleri tabloya dök.
- Belgelenmemiş uç noktaları OpenAPI ile karşılaştırarak bul: APK'dan çıkan listeyi belgeyle karşılaştır, belgede olmayanları lab API'sinde curl ile doğrula.
- Bir JWT'nin alanlarını oku: Kayıtlı istekteki belirteci çöz ve süre ile alıcı alanlarını yaz.
- Çıkıştan sonra çalışan yenileme belirtecini kapat: Lab API'sinde çıkış sonrası belirtecin hâlâ kabul edildiğini göster ve sunucu tarafında iptali ekle.
- İmzayı doğrulamayan uç noktayı düzelt: Kendi lab API'nde imzası bozulmuş belirtecin kabul edildiğini kanıtla, doğrulama kodunu düzelt ve yeniden sına.
- Başka kullanıcının kaydını döndüren isteği yeniden üret: İki lab hesabıyla sipariş uç noktasını çağır ve sahiplik denetimi eksikliğini göster.
- Sipariş uç noktasına sahiplik denetimi ekle: Sunucu kodunu düzelt ve başka hesabın kaydının artık 403 döndürdüğünü doğrula.
- Bütün nesne uç noktalarını yetki açısından tara ve düzelt: Kimlik parametresi alan uç noktaları listele, iki hesaplı bir betikle sına ve açık kalanları kapat.
- Yanıtta gereğinden fazla dönen alanları bul: Profil yanıtında istemcinin kullanmadığı hassas alanları işaretle.
- Gizli yönetici uç noktasını rol denetimiyle koru: APK'da görünen yönetici yolunun sıradan hesapla çalıştığını göster ve rol denetimi ekle.
- Toplu atamayı ve istemcideki fiyat denetimini kapat: Güncelleme isteğinde rol ve fiyat alanlarının kabul edildiğini kanıtla, sunucuda izinli alan listesi ve fiyat hesabı ekle.
- Giriş uç noktasında hız sınırı olup olmadığını ölç: Kendi lab API'ne art arda yirmi istek gönder ve yanıt kodlarını kaydet.
- Kod doğrulama uç noktasına hız sınırı ekle: Hesap başına deneme sınırı ve bekleme süresi ekle, günlükten doğrula.
- Unutulmuş v1 API'sini bul ve emekliye ayır: Eski istemcinin kullandığı korumasız sürümü bul, günlükten kullanımını ölç ve kapatma planıyla birlikte devre dışı bırak.
- API günlüğünde başarısız girişleri say: Günlükten hesap başına başarısız giriş sayısını çıkar.
- Sıralı kimlik taramasını günlükten tespit et: Tek belirteçle art arda farklı kayıt numaralarının istendiği oturumu bul ve uyarı kuralı yaz.
- Kurye uygulamasının API'sini denetle, düzelt, yeniden sına: Kuzeyyıldızı Kargo lab API'sinde yetki, oturum ve hız sınırı bulgularını çıkar, üçünü düzelt ve yeniden sınama tablosu hazırla.
Kurs hakkında
Uygulamanın konuştuğu API'yi kendi laboratuvarında denetlersin: uç noktaları APK'dan çıkarır, kimlik doğrulama, yetkilendirme, oturum, hız sınırı ve sürüm yönetimi hatalarını bulur, sunucu tarafında düzeltirsin.
Ne öğreneceksin
- Uç noktaları çıkarmak
- Kimlik doğrulama ve oturum
- Yetkilendirme ve iş mantığı
- Dayanıklılık ve işletim
- Bitirme
Ö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.