Cross-site request forgery (CSRF)

0

 

Siteler arası istek sahteciliği (CSRF)

     

Bu bölümde, siteler arası istek sahteciliğinin ne olduğunu açıklayacağız, yaygın CSRF güvenlik açıklarının bazı örneklerini açıklayacağız ve CSRF saldırılarının nasıl önleneceğini açıklayacağız. 

 

 

CSRF nedir? 

Siteler arası istek sahteciliği (CSRF olarak da bilinir), bir saldırganın kullanıcıları gerçekleştirmeyi düşünmedikleri eylemleri gerçekleştirmeye teşvik etmesine olanak tanıyan bir web güvenlik açığıdır. Bir saldırganın, farklı web sitelerinin birbirine müdahale etmesini önlemek için tasarlanmış aynı kaynak politikasını kısmen atlatmasına olanak tanır.

 

CSRF saldırısının etkisi nedir?  

Başarılı bir CSRF saldırısında saldırgan, kurban kullanıcının istemeden bir eylem gerçekleştirmesine neden olur. Örneğin bu, hesaplarındaki e-posta adresini değiştirmek, şifrelerini değiştirmek veya para transferi yapmak olabilir. Eylemin niteliğine bağlı olarak, saldırgan, kullanıcının hesabı üzerinde tam kontrol sahibi olabilir. Güvenliği ihlal edilen kullanıcının uygulama içinde ayrıcalıklı bir rolü varsa, saldırgan, uygulamanın tüm verilerinin ve işlevlerinin tam denetimini ele geçirebilir. 

 

CSRF nasıl çalışır? 

Bir CSRF saldırısının mümkün olması için üç temel koşulun mevcut olması gerekir:

  • İlgili bir işlem. Uygulama içinde, saldırganın tetiklemek için bir nedeni olduğu bir eylem var. Bu, ayrıcalıklı bir işlem (diğer kullanıcıların izinlerini değiştirmek gibi) veya kullanıcıya özel veriler üzerinde herhangi bir işlem (kullanıcının kendi parolasını değiştirmek gibi) olabilir.
  • Çerez tabanlı oturum işleme. Eylemin gerçekleştirilmesi, bir veya daha fazla HTTP isteği gönderilmesini içerir ve uygulama, istekleri yapan kullanıcıyı belirlemek için yalnızca oturum tanımlama bilgilerine dayanır. Oturumları izlemek veya kullanıcı isteklerini doğrulamak için başka bir mekanizma yoktur.
  • Öngörülemeyen istek parametreleri yok. Eylemi gerçekleştiren istekler, saldırganın belirleyemediği veya tahmin edemediği hiçbir parametre içermez. Örneğin, bir kullanıcının parolasını değiştirmesine neden olurken, bir saldırganın mevcut parolanın değerini bilmesi gerekiyorsa işlev savunmasız değildir.

Örneğin, bir uygulamanın, kullanıcının hesabındaki e-posta adresini değiştirmesine izin veren bir işlev içerdiğini varsayalım. Bir kullanıcı bu eylemi gerçekleştirdiğinde aşağıdaki gibi bir HTTP isteğinde bulunur: 

 

Bu, CSRF için gerekli koşulları karşılar:

  • Bir kullanıcının hesabındaki e-posta adresini değiştirme eylemi, bir saldırganın ilgisini çeker. Bu eylemi takiben, saldırgan genellikle bir parola sıfırlama işlemini tetikleyebilir ve kullanıcının hesabının tam kontrolünü ele geçirebilir.
  • Uygulama, isteği hangi kullanıcının yayınladığını belirlemek için bir oturum tanımlama bilgisi kullanır. Kullanıcı oturumlarını izlemek için başka bir belirteç veya mekanizma yoktur.
  • Saldırgan, eylemi gerçekleştirmek için gerekli olan istek parametrelerinin değerlerini kolayca belirleyebilir.

Bu koşullar yerine getirildiğinde, saldırgan aşağıdaki HTML'yi içeren bir web sayfası oluşturabilir: 


 

Bir kurban kullanıcı saldırganın web sayfasını ziyaret ederse, aşağıdakiler gerçekleşir:

  • Saldırganın sayfası, güvenlik açığı bulunan web sitesine bir HTTP isteğini tetikleyecektir.
  • Kullanıcı güvenlik açığı bulunan web sitesinde oturum açtıysa, tarayıcısı otomatik olarak oturum tanımlama bilgisini isteğe dahil edecektir ( SameSite tanımlama bilgilerinin kullanılmadığı varsayılarak).
  • Savunmasız web sitesi, talebi normal şekilde işleyecek, kurban kullanıcı tarafından yapılmış gibi davranacak ve e-posta adresini değiştirecektir.  

CSRF açıklarından yararlanma nasıl sağlanır?

ile aynıdır yansıtılan XSS . Tipik olarak, saldırgan kötü niyetli HTML'yi kontrol ettiği bir web sitesine yerleştirir ve ardından kurbanları bu web sitesini ziyaret etmeye teşvik eder. Bu, kullanıcıya bir e-posta veya sosyal medya mesajı yoluyla web sitesine bir bağlantı verilerek yapılabilir. Veya saldırı popüler bir web sitesine yapılırsa (örneğin bir kullanıcı yorumunda), kullanıcıların web sitesini ziyaret etmesini bekleyebilirler.

Bazı basit CSRF istismarlarının GET yöntemini kullandığını ve savunmasız web sitesinde tek bir URL ile tamamen bağımsız olabileceğini unutmayın. Bu durumda, saldırganın harici bir site kullanması gerekmeyebilir ve kurbanlara savunmasız etki alanında doğrudan kötü amaçlı bir URL besleyebilir. Önceki örnekte, e-posta adresini değiştirme isteği GET yöntemiyle gerçekleştirilebiliyorsa, bağımsız bir saldırı şöyle görünür:

 <img src="https://vulnerable-website.com/email/change?email=pwned@evil-user.net">

 


daha iyi öğrenmek için csrf videolarını izleyin alttaki linkten

 https://www.youtube.com/hashtag/csrf

Yorum Gönder

0 Yorumlar

Yorum yaptığın için teşekkürler

Yorum Gönder (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !
To Top