Skip to content

Latest commit

 

History

History
86 lines (57 loc) · 4.97 KB

File metadata and controls

86 lines (57 loc) · 4.97 KB

4. Adım: Broken Authentication – Kimlik Doğrulama Açıkları

Web güvenliğinde bir diğer kritik konu da Broken Authentication (Kimlik Doğrulama Açıkları). Bu açıklar, saldırganların bir web uygulamasına kimlik doğrulama mekanizmalarındaki zayıflıklar üzerinden sızmasına veya yetkilendirme açıklarını suiistimal etmesine olanak tanır. Sonuç: Yanlış kişilerin admin paneline giriş yapması, kullanıcı hesaplarının ele geçirilmesi ve hatta sistemin tam kontrolünün elde edilmesi.

Hadi bu konuyu detaylıca ele alalım.


4.1 Broken Authentication Nedir?

Broken Authentication, kullanıcıların kimlik doğrulama süreçlerinde yapılan yanlışlar veya eksiklikler nedeniyle oluşur. Bu, zayıf parola politikaları, güvenli olmayan oturum yönetimi veya parola sıfırlama fonksiyonlarının kötü uygulanması gibi birçok nedenle gerçekleşebilir.

Bir saldırganın amacı basittir:

  • Kullanıcıların (özellikle admin yetkili hesapların) oturum bilgilerini çalmak,
  • Kimlik doğrulama aşamalarını atlayıp doğrudan sisteme sızmak,
  • Yetkisi olmadığı sayfalara, veri tabanına veya API uç noktalarına erişmek.

4.2 Broken Authentication Tipik Senaryoları

1. Zayıf Parola Politikaları:

  • Varsayılan şifrelerin değiştirilmemesi (örn: admin/admin).
  • Kullanıcıları karmaşık şifre oluşturmaya zorlamamak (örn: 123456 ya da password).

2. Session Fixation:

  • Oturum kimlik bilgilerinin (Session ID) yeni oturum açıldığında yenilenmemesi.
  • Saldırgan, kullanıcının oturum açma öncesi tahmin edilebilir bir ID atadığında, kullanıcı giriş yaptığında bu ID üzerinden kullanıcının oturumunu çalabilir.

3. Oturum Çerezlerinin Güvenliği:

  • HttpOnly, Secure, SameSite gibi bayrakların kullanılmaması.
  • Çerezlerin açıkta HTTP üzerinden gönderilmesi, saldırganın “Man-in-the-Middle” saldırılarıyla çerezleri ele geçirmesine neden olabilir.

4. Parola Sıfırlama Mekanizmaları:

  • Süresi dolmayan parola sıfırlama linkleri.
  • Kötü korunan güvenlik soruları (örn: “Evcil hayvanının adı?” gibi kolay tahmin edilebilir cevaplar).

4.3 Pratik Örnek: DVWA Üzerinde Broken Authentication Testi

Adım 1: Kullanıcı Yönetimi Denetimi

DVWA ya da benzeri bir test ortamında, kimlik doğrulama mekanizmasını incele. Varsayılan admin/admin gibi hesaplar var mı?

Adım 2: Session Hijacking Denemeleri

  • Oturum açtıktan sonra, tarayıcı çerezlerini incele.
  • Çerezlerin HttpOnly veya Secure bayraklarının eksik olduğunu görürsen, bu bir zayıflık.
  • Aynı oturumu başka bir tarayıcıda çerez değerini kopyalayarak test et. Eğer doğrudan giriş yapıyorsan, bu bir açık demektir.

Adım 3: Parola Sıfırlama İşlemleri

  • Parola sıfırlama linkleri ne kadar süre geçerli?
  • Linki kullandıktan sonra bile geçerliliği devam ediyor mu?
  • Güvenlik soruları tahmin edilebilir mi?

Bu testlerle gerçek hayatta da çok sık karşılaşırsın. Bounty platformlarında özellikle “Password Reset” fonksiyonları altın madendir. Çünkü yanlış yapılandırılmış bir password reset mekanizmasıyla tüm sistem tepetaklak edilebilir.


4.4 Broken Authentication’dan Korunma Yöntemleri

1. Güçlü Parola Politikaları:

  • Minimum uzunluk, özel karakter zorunluluğu.
  • İki faktörlü kimlik doğrulama (2FA) entegrasyonu.

2. Oturum Yönetimi İyileştirmeleri:

  • Oturum açıldığında session ID yenilenmeli.
  • Çerezlere HttpOnly, Secure, SameSite bayrakları eklenmeli.
  • Oturumların belirli bir süre sonunda otomatik zaman aşımına uğraması sağlanmalı.

3. Parola Sıfırlama Süreçlerini Güçlendirmek:

  • Sıfırlama linkleri kısa süreli geçerliliğe sahip olmalı (örn: 15 dakika).
  • Kullanıcının mevcut oturumlarını sıfırlama sonrası otomatik olarak sonlandır.

4. İkinci Bir Kimlik Doğrulama Katmanı Ekle:

  • Şüpheli etkinlik tespit edildiğinde ek doğrulama istemek.
  • Captcha veya SMS doğrulaması.

4.5 Kapanış

Broken Authentication, saldırganlar için devasa bir oyun alanı sunar. Doğru yönetilmezse, yetkisiz kişilerin sistemde at koşturmasına izin verir. Ama önceden planlanan sıkı parola politikaları, sağlam session yönetimi ve doğru konfigüre edilmiş parola sıfırlama süreçleriyle bu açıklar kolaylıkla engellenebilir.

Bir bug bounty avcısı veya bir güvenlik mühendisi olarak, kimlik doğrulama mekanizmalarına her zaman şüpheyle yaklaşmalısın. “Acaba bu oturum ID’si tahmin edilebilir mi?” ya da “Şu parola sıfırlama linki ne kadar süre geçerli?” gibi soruları sormak, büyük fark yaratır.

Sıradaki adımda güvenlik mimarisine bir göz atacağız. Yani, güvenli bir web uygulaması tasarlarken nelere dikkat ederiz? Yakında oraya da geçeceğiz. Ancak önce, Broken Authentication konusunu iyice sindirdiğinden emin ol. 😊