0Pricing
Cryptology Academy · Ders

OAuth Güvenlik Açıkları ve Saldırı Kalıpları

Yönlendirme URI'si değiştirme, yetkilendirme uç noktasında CSRF ve belirteç sızıntısı güvenlik açıklarını inceleyin.

OAuth Güvenlik Açıkları ve Saldırı Kalıpları, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

redirect_uri'de Açık Yeniden Yönlendirme

OAuth yetkilendirme sunucuları redirect_uri parametresini kesin biçimde doğrulamalıdır. Sunucu önek eşleştirmesine veya joker karakter eşleştirmesine izin verirse (örneğin "https://app.example.com" ile başlayan herhangi bir URL'yi kabul ederse), saldırgan yetkilendirme isteğini "https://app.example.com.attacker.com/steal" adresine ya da meşru alan adındaki açık bir yeniden yönlendirmeye yönlendirecek şekilde oluşturabilir ve yetkilendirme kodunu çalabilir.

Yetkilendirme Uç Noktasında CSRF

CSRF koruması olmadan saldırgan bir OAuth akışı başlatabilir ve kurbanın tarayıcısını yetkilendirmeyi tamamlaması için kandırabilir. Kurban farkında olmadan saldırganın istemcisini yetkilendirir. "state" parametresi (RFC 6749) bunu önler: istemci rastgele bir state oluşturur, bunu isteğe ekler ve geri çağırmadaki değerin eşleştiğini doğrular. Eşleşmeme durumunda akış durdurulur.

Yetkilendirme Kodunun Ele Geçirilmesi

Mobil platformlarda kötücül uygulamalar, meşru bir OAuth istemcisiyle aynı özel URI şemasını kaydedebilir ve kullanıcı kimlik doğrulamasından sonra yeniden yönlendirilen yetkilendirme kodlarını ele geçirebilir. PKCE (RFC 7636) eksiksiz savunma sağlar: akışın başında yalnızca meşru uygulamanın oluşturduğu kod doğrulayıcı olmadan ele geçirilen kod işe yaramaz.

Referer Üst Bilgisiyle Belirteç Sızıntısı

Bir ID belirteci veya erişim belirteci URL parçasına ya da sorgu parametresine eklendiğinde, bu sayfadan sonraki gezinmeler URL'yi Referer üst bilgisinde taşır ve belirtecin üçüncü taraf analiz betiklerine veya CDN sağlayıcılarına sızmasına neden olabilir. Belirteçlerin URL'lerde görünmesini önlemek için her zaman arka kanal üzerinden belirteç teslimi yapan yetkilendirme kodu akışını kullanın.

Çok Sağlayıcılı Kurulumlarda Karıştırma Saldırıları

Bir istemci birden çok OAuth sağlayıcısını desteklediğinde, karıştırma saldırıları istemciyi Sağlayıcı A'dan alınan bir yetkilendirme kodunu Sağlayıcı B'nin belirteç uç noktasına göndermeye yönlendirir. İstemci, ID belirteçlerindeki "iss" istemini doğrulamalı ve geri çağırmayı, state parametresini veya JARM (JWT ile Güvenli Yetkilendirme Yanıt Modu) kullanarak akışı başlatan belirli sağlayıcıya bağlamalıdır.

redirect_uri Aracılığıyla SSRF

Sunucu taraflı istek sahteciliği (SSRF) saldırıları, redirect_uri adresine sunucu taraflı HTTP istekleri yapan OAuth uygulamalarını hedefler. Yetkilendirme sunucusu doğrulamak için redirect_uri adresini getirirse saldırgan, bulut örneği meta verilerine veya iç hizmetlere erişmek amacıyla bir iç IP adresi (örneğin http://169.254.169.254/latest/meta-data/) sağlayabilir. Katı izin listesine dayalı redirect_uri doğrulaması bunu önler.

E-posta İstemi Çakışmasıyla Hesap Ele Geçirme

Birçok uygulama, sağlayıcılar arasındaki hesapları bağlamak için OIDC ID belirtecindeki e-posta istemini kullanır. Saldırgan başka bir sağlayıcıdaki kurban hesabıyla eşleşen bir e-posta adresini kontrol ediyorsa bu e-postayla farklı bir sağlayıcıya kaydolup kurbanın hesabına erişebilir. Savunma: hesapları yalnızca (iss, sub) çiftiyle bağlayın, hiçbir zaman yalnızca e-postayla bağlamayın.

JWT Algoritması Karıştırma

JWT algoritması karıştırma saldırıları, doğrulama algoritmasını seçmek için "alg" üst bilgisine güvenen uygulamalardan yararlanır. Saldırı şu şekilde gerçekleştirilir: "alg" değeri "RS256" yerine "HS256" olarak değiştirilir ve belirteç, sunucunun ortak anahtarı HMAC sırrı olarak kullanılarak imzalanır (ortak anahtar herkese açıktır). Savunma: beklenen algoritmayı doğrulama kodunda her zaman açıkça belirtin; belirteç üst bilgisindeki alg istemine hiçbir zaman güvenmeyin.

Onay Ekranını Taklit Ederek OAuth Kimlik Avı

Saldırganlar meşru görünen adlara ve logolara sahip kötücül OAuth istemcileri kaydeder, ardından hedeflere kimlik avı bağlantıları gönderir. Kurban, kötücül bir uygulama için gerçek bir OAuth onay ekranı (Google, Microsoft vb. tarafından barındırılan) görür ve erişim izni verir. Savunma: client_id değerinin beklenen uygulamaya karşılık geldiğini doğrulayın; Google ve Microsoft, meşru uygulamalar için istemci doğrulama programları sunar.

Kapsam Yükseltme Saldırıları

Kapsam yükseltmesi, istemcinin kullanıcının yetkilendirdiğinden daha geniş izinlere sahip belirteçler elde etmesiyle gerçekleşir. Belirteç uç noktasında kapsam doğrulamasını atlayan, farklı isteklerdeki kapsamları birleştirilmiş belirteçlerde önbelleğe alan veya düzenlenen belirteçteki kapsamın yetkilendirilen kapsamı aşmadığını doğrulamayan uygulama kusurları, OAuth aracılığıyla ayrıcalık yükseltmesine yol açabilir.

Güvenlik En İyi Uygulamaları Özeti

OAuth uygulamalarını şu yöntemlerle koruyun: redirect_uri doğrulamasında tam eşleşme kullanın, tüm genel istemciler için PKCE'yi zorunlu kılın, CSRF koruması için state parametresini doğrulayın, ID belirteçlerini e-postaya göre değil (iss, sub) ile bağlayın, beklenen JWT algoritmalarını açıkça belirtin, asgari kapsamları isteyin, kısa ömürlü erişim belirteçlerini belirteç döndürme özelliğiyle birlikte kullanın ve marka taklidi riskini belirlemek için onay ekranının görünümünü denetleyin.

OAuth redirect_uri Denetimi

Bir OAuth yetkilendirme sunucusu, "https://app.example.com" ile başlayan herhangi bir redirect_uri adresini kabul ediyor. Bu hangi saldırıyı mümkün kılar?

Ders Özeti: OAuth Saldırı Kalıpları

Temel OAuth saldırıları: gevşek redirect_uri doğrulaması yoluyla açık yeniden yönlendirme (tam eşleşme kullanın), eksik state parametresi yoluyla CSRF, mobil cihazlarda kodun ele geçirilmesi (PKCE ile azaltılır), URL'lerde belirteç sızıntısı, çok sağlayıcılı kurulumlarda karıştırma (iss değerini doğrulayın), sunucu tarafından getirilen redirect_uri yoluyla SSRF, e-posta istemi çakışması (iss+sub kullanın), JWT algoritması karıştırması (beklenen alg değerini sabitleyin) ve sahte onay ekranları yoluyla kimlik avı.

Sıkça Sorulan Sorular

“OAuth Güvenlik Açıkları ve Saldırı Kalıpları” dersi ücretsiz mi?

Evet — “OAuth Güvenlik Açıkları ve Saldırı Kalıpları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“OAuth Güvenlik Açıkları ve Saldırı Kalıpları” dersinde ne öğreneceğim?

Yönlendirme URI'si değiştirme, yetkilendirme uç noktasında CSRF ve belirteç sızıntısı güvenlik açıklarını inceleyin. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“OAuth Güvenlik Açıkları ve Saldırı Kalıpları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. OAuth 2.0 Akışları ve Belirteç Türleri
  2. PKCE: Genel İstemcileri Güvenceye Alma
  3. OpenID Connect Talepleri ve ID Belirteçleri
  4. OAuth Güvenlik Açıkları ve Saldırı Kalıpları
← Cryptology Academy Sayfasına Dön