Selam Ben Rapx13 ve bu konuda CSRF öğrendiğim konunun 2. günü
konuya geçmeden önce söylemem gerekirki bu serinin kalan kısmı için çok fazla araştırma yapmam gerekicek çünkü 4 dildede kodları tam manasıyla okumam yorumlamam ve thm'nin makinasını çalıştırmam gerekli fakat ben her zaman söylerim bir işi yarıda bırakmayı sevmem biraz aksada konuya kesinlikle devam edeceğim bir açık bir ilimdir kafasıyla konumuza geçiyorum.
Bu konuda ne öğreneceğiz ?
Bu konuda CSRF açığından korunma yöntemlerini
CSRF'den korunma yöntemlerinde Red Team ve Pentester'ların görevini inceliyiceğiz
Başlıyalım.
CSRF, sızma testçileri(pentester) için kritik bir rol oynar ve kullanıcıların güvenilir web sitelerinde farkında olmadan yetkisiz eylemler gerçekleştirdiği saldırıları simüle etmelerine olanak tanıyor Sızma testçileri, CSRF güvenlik açıklarından yararlanarak, bir uygulamanın sahte isteklere karşı savunmasının etkinliğini değerlendirebilir, oturum yönetimindeki olası güvenlik açıklarını belirleyebilir ve uygulanan CSRF önleme önlemlerinin sağlamlığını değerlendirebilir. Aşağıda, sızma testçileri ve red team üyeleri için önerilen kritik önlemlerden bazılarını vereceğim.
Sızma testçileri ve Red Team üyeleri için:
CSRF Testi: Manipüle edilmiş istekler aracılığıyla yetkisiz eylemler gerçekleştirmeye çalışarak CSRF güvenlik açıkları için uygulamaları aktif olarak test et ve uygulanan korumaların etkinliğini değerlendir.
Sınır Doğrulaması: İstek sahteciliğini önlemek için kullanıcı girişlerinin uygun şekilde doğrulandığından ve CSRF önleme belirteçlerinin mevcut olduğundan ve doğru şekilde doğrulandığından emin olarak uygulamanın doğrulama mekanizmalarını değerlendir.
Güvenlik Başlıkları Analizi: Genel güvenliği artırmak ve CSRF dahil olmak üzere çeşitli saldırı vektörlerini önlemek için CORS ve Referer gibi güvenlik başlıklarının varlığını ve etkinliğini değerlendir.
Oturum Yönetimi Testi: Yetkisiz erişimi ve eylemleri önlemek için oturum belirteçlerinin güvenli bir şekilde oluşturulduğundan, iletildiğinden ve doğrulandığından emin olarak uygulamanın oturum yönetimi mekanizmalarını incele..
CSRF'den Yararlanma Senaryoları: Uygulamanın savunmasındaki olası zayıflıkları belirlemek ve güvenlik önlemlerini iyileştirmek için görüntü etiketlerine kötü amaçlı istekler yerleştirme veya güvenilir uç noktalardan yararlanma gibi çeşitli CSRF yararlanma senaryolarını keşfet.
CSRF Testi: Manipüle edilmiş istekler aracılığıyla yetkisiz eylemler gerçekleştirmeye çalışarak CSRF güvenlik açıkları için uygulamaları aktif olarak test et ve uygulanan korumaların etkinliğini değerlendir.
Sınır Doğrulaması: İstek sahteciliğini önlemek için kullanıcı girişlerinin uygun şekilde doğrulandığından ve CSRF önleme belirteçlerinin mevcut olduğundan ve doğru şekilde doğrulandığından emin olarak uygulamanın doğrulama mekanizmalarını değerlendir.
Güvenlik Başlıkları Analizi: Genel güvenliği artırmak ve CSRF dahil olmak üzere çeşitli saldırı vektörlerini önlemek için CORS ve Referer gibi güvenlik başlıklarının varlığını ve etkinliğini değerlendir.
Oturum Yönetimi Testi: Yetkisiz erişimi ve eylemleri önlemek için oturum belirteçlerinin güvenli bir şekilde oluşturulduğundan, iletildiğinden ve doğrulandığından emin olarak uygulamanın oturum yönetimi mekanizmalarını incele..
CSRF'den Yararlanma Senaryoları: Uygulamanın savunmasındaki olası zayıflıkları belirlemek ve güvenlik önlemlerini iyileştirmek için görüntü etiketlerine kötü amaçlı istekler yerleştirme veya güvenilir uç noktalardan yararlanma gibi çeşitli CSRF yararlanma senaryolarını keşfet.
Secure Coders(zararsız yazılımcılar)ın yapması gerekenler
CSRF Önleme Belirteçleri: CSRF saldırılarını engelleyerek yalnızca geçerli ve öngörülemeyen belirteçlere sahip isteklerin kabul edilmesini sağlamak için CSRF önleme belirteçlerini her forma veya isteğe entegre edin.
SameSite Çerez Özniteliği: Çerezlerin siteler arası isteklerle ne zaman gönderileceğini kontrol etmek için tanımlama bilgilerindeki SameSite özniteliğini 'Katı' veya 'Gevşek' olarak ayarlayın ve tanımlama bilgisi davranışını kısıtlayarak CSRF riskini en aza indirin.
Yönlendiren Politikası: Yönlendiren başlığında açıklanan bilgileri sınırlayan ve isteklerin güvenilir kaynaklardan gelmesini sağlayarak katı bir yönlendiren politikası uygulayın, böylece yetkisiz siteler arası istekleri önleyin.
İçerik Güvenliği İlkesi (CSP): Güvenilir içerik kaynaklarını belirten bir ilke tanımlamak ve uygulamak için CSP'yi kullanarak web sayfalarına kötü amaçlı komut dosyaları ekleme riskini azaltır.
Çift Gönderme Tanımlama Bilgisi Düzeni: CSRF önleme belirtecinin hem tanımlama bilgisinde hem de istek parametresi olarak depolandığı güvenli bir çift gönderme tanımlama bilgisi düzeni uygulayın. Sunucu daha sonra isteklerin kimliğini doğrulamak için her iki değeri de karşılaştırır.
CAPTCHAS'ı uygulayın: Güvenli geliştiriciler, özellikle kullanıcı kimlik doğrulaması, form gönderimleri ve hesap oluşturma süreçlerinde CSRF saldırılarına karşı ek bir savunma katmanı olarak CAPTCHA zorluklarını dahil edebilir.
şimdi aşşağıda bir kod vericeğim kodda CSRF açığı var bunu düzeltme yönteminide gösterip konuyu bitiriceğim.
KOD:
SameSite Çerez Özniteliği: Çerezlerin siteler arası isteklerle ne zaman gönderileceğini kontrol etmek için tanımlama bilgilerindeki SameSite özniteliğini 'Katı' veya 'Gevşek' olarak ayarlayın ve tanımlama bilgisi davranışını kısıtlayarak CSRF riskini en aza indirin.
Yönlendiren Politikası: Yönlendiren başlığında açıklanan bilgileri sınırlayan ve isteklerin güvenilir kaynaklardan gelmesini sağlayarak katı bir yönlendiren politikası uygulayın, böylece yetkisiz siteler arası istekleri önleyin.
İçerik Güvenliği İlkesi (CSP): Güvenilir içerik kaynaklarını belirten bir ilke tanımlamak ve uygulamak için CSP'yi kullanarak web sayfalarına kötü amaçlı komut dosyaları ekleme riskini azaltır.
Çift Gönderme Tanımlama Bilgisi Düzeni: CSRF önleme belirtecinin hem tanımlama bilgisinde hem de istek parametresi olarak depolandığı güvenli bir çift gönderme tanımlama bilgisi düzeni uygulayın. Sunucu daha sonra isteklerin kimliğini doğrulamak için her iki değeri de karşılaştırır.
CAPTCHAS'ı uygulayın: Güvenli geliştiriciler, özellikle kullanıcı kimlik doğrulaması, form gönderimleri ve hesap oluşturma süreçlerinde CSRF saldırılarına karşı ek bir savunma katmanı olarak CAPTCHA zorluklarını dahil edebilir.
şimdi aşşağıda bir kod vericeğim kodda CSRF açığı var bunu düzeltme yönteminide gösterip konuyu bitiriceğim.
KOD:
| <form action="/Home/Test" method="post"> <input name="__RequestVerificationToken" type="hidden" value="static-csrf-token-12345" /> <input type="submit" value="Submit" /> </form> |
Peki bu kodu nasıl düzelteceğiz statik bir token değil rastgele kişiye özel bir token vererek.
KOD:
KOD:
| <form action="/Home/Test" method="post"> <input name="__RequestVerificationToken" type="hidden" value="6fGBtLZmVBZ59oUad1Fr33BuPxANKY9q3Srr5y[...]" /> <input type="submit" value="Submit" /> </form> |
Bu konudanda bu kadarlık bir yazı çıktı biraz az oldu ama idare edin artık uzun ve kodlu yazılarak geçiceğiz. Yaklaşık 2 gün sürer diye düşünüyorum.
Kaynakça:
Kaynakça:
ASP.NET MVC'de Siteler Arası İstek Sahteciliği (CSRF) Saldırılarını ÖnlemeSiteler arası istek sahteciliği (CSRF) saldırısını ve ASP.NET Web MVC'de CSRF önleme önlemlerinin nasıl uygulanıp uygulanmadığı açıklanır.
learn.microsoft.com
CSRFLearn how a CSRF vulnerability works and methods to exploit and defend against CSRF vulnerabilities.
|
İyi forumlar dilerim
Rapx Out
Son düzenleme:
