Cross-Site Request Forgery (CSRF) Nedir? Web Güvenliğini Tehdit Eden Gizli Tehlike

Web güvenliği hakkında yazılmış, CSRF saldırılarını ve korunma yollarını detaylı şekilde anlatan bir blog yazısı.

BFS

Bir zamanlar, günümüzün en popüler ve güvenli web uygulamalarından birinde bir hacker, kullanıcıların bilgilerini çalmak ve hesaplarını ele geçirmek amacıyla bir tuzak kurdu. Bu saldırı, görünüşte zararsız bir işlem gibi görünüyor, ama aslında oldukça tehlikeli. İşte bu saldırının adı Cross-Site Request Forgery ya da kısaca CSRF.

CSRF Nedir?

CSRF, yani Cross-Site Request Forgery, Türkçeye "Site Arası İstek Sahteciliği" olarak çevrilebilir. Peki, bu terim tam olarak ne anlama geliyor? Bir saldırganın, kullanıcının kimliğini sahte bir istekle taklit etmesi ve kullanıcının bilgisi dışında zararlı işlemler yapması anlamına gelir. Yani hacker, kullanıcının oturumunu kullanarak işlemleri gerçekleştirir.

Örneğin, bir kullanıcı bankacılık sitesine giriş yaptı ve bir süre sonra kötü niyetli bir siteyi ziyaret etti. Bu sırada, saldırganın hazırladığı zararlı bir link ya da form, kullanıcının bankacılık hesabına para transferi yapmasına neden olabilir. Kullanıcı, hiçbir şey fark etmeden işlemi gerçekleştirmiş olur. İşte bu, CSRF saldırısının ta kendisidir.

CSRF Nasıl Çalışır?

CSRF saldırısı, genellikle şu şekilde işler:

1. Kullanıcı Bir Web Sitesine Giriş Yapıyor: Kullanıcı, örneğin bir bankacılık uygulamasına giriş yapar ve bir oturum açar.
2. Zararlı Bir Web Sayfası: Hacker, kullanıcının güvenliğine dair herhangi bir şüphe uyandırmayan bir siteyi hazırlayarak kullanıcıyı buraya yönlendirir.
3. Sahte İstek Gönderimi: Kullanıcı bu zararlı sayfayı ziyaret ettiğinde, hacker, kullanıcının kimliğiyle bankacılık sitesine sahte bir istek gönderir. Bu işlem, kullanıcının farkında olmadığı bir şekilde gerçekleştirilir.
4. Sonuç: Bankacılık uygulaması, isteğin kullanıcının isteğiyle yapıldığını kabul eder ve parayı başka bir hesaba transfer eder.

CSRF, kullanıcıları ve web uygulamalarını tehdit eder, çünkü saldırgan kullanıcıları manipüle edebilir, hesaplarına zarar verebilir veya onların izni olmadan çeşitli işlemler yapabilir.

CSRF Saldırıları Neden Tehlikelidir?

Bu saldırılar, kullanıcıların bilmeden kötü amaçlı işlemler yapmasına neden olabilir. CSRF saldırısının en büyük riski, kullanıcıların şifrelerini veya kimlik bilgilerini ele geçirme amacına yönelik olmamasıdır. Bunun yerine, saldırgan kullanıcıyı kendi istekleri doğrultusunda yönlendirir. Kullanıcılar bu tür saldırılara karşı genellikle farkındalık sahibi olmadıkları için savunmasızdırlar.

Bir diğer önemli risk ise herhangi bir ek yazılım ya da kötü amaçlı kod yüklemeye gerek duyulmamasıdır. CSRF, yalnızca kullanıcıların tarayıcılarını kullanarak saldırganın isteklerini gerçekleştirmesini sağlar.

CSRF’den Korunmak İçin Neler Yapılabilir?

Peki, CSRF saldırılarından nasıl korunuruz? İşte web geliştiricilerinin ve kullanıcılarının dikkat etmesi gereken birkaç öneri:

# 1. CSRF Token Kullanımı
Herhangi bir form ya da istek, sunucuya gönderildiğinde, bu isteğe özgü bir token eklemek güvenliği artırır. Bu token, yalnızca geçerli oturumdaki kullanıcıya özgüdür ve CSRF saldırılarının önüne geçer.


session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if ($_POST["csrf_token"] != $_SESSION["csrf_token"]) {
        // Token uyuşmazsa işlem yapma
        die("CSRF attack detected!");
    }
}
// Form içeriğini burada işleyebilirsiniz


# 2. Referer Başlığını Kontrol Etmek
Web sunucuları, bir isteğin kaynağını belirten Referer başlığını kontrol edebilir. Eğer başlık, beklenen alan adı dışında bir yerden geliyorsa, o isteği reddetmek, CSRF saldırısını önlemeye yardımcı olabilir.

#### 3. HTTPOnly ve Secure Çerezler
Çerezler üzerinden yapılacak saldırıları engellemek için HTTPOnly ve Secure bayrakları eklenmelidir. Bu, çerezlerin yalnızca güvenli bağlantılar üzerinden ve JavaScript ile erişilemez olmasını sağlar.

# 4. GET Yöntemiyle Kritik İşlem Yapmamak
Kritik işlemler, GET isteği ile değil, sadece POST istekleri ile yapılmalıdır. Çünkü GET istekleri tarayıcılar tarafından önbelleğe alınabilir ve URL'lere dahil edilebilir.

### CSRF’den Korunmak İçin Kullanıcı Tavsiyeleri

1. Güvenilir Siteleri Ziyaret Edin: Bilmediğiniz ve güvenmediğiniz web sitelerinde işlem yapmayın.
2. Oturumlarınızı Kapatın: Önemli bir işlem yapmadan önce, web uygulamalarında oturumunuzu kapatın.
3. Tarayıcı Güvenliği: Tarayıcınızda güvenlik eklentileri kullanarak sahte web sayfalarına karşı korunmaya çalışın.
4. Çift Faktörlü Kimlik Doğrulama: Hesaplarınızda mümkünse çift faktörlü kimlik doğrulama kullanın.

Sonuç

CSRF, web güvenliğinin göz ardı edilen ama oldukça tehlikeli bir açığıdır. Hem kullanıcılar hem de geliştiriciler bu tür saldırılara karşı dikkatli olmalı ve gerekli önlemleri almalıdır. Unutmayın, internet dünyasında her şey görünmeyen bir saldırıya dönüşebilir, bu yüzden her zaman dikkatli olun ve güvenliği ön planda tutun.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Web Güvenliğini Arttırmak İçin 2025'te Kullanılacak 10 Yeni Yöntem

Web güvenliği her geçen yıl daha da önemli bir konu haline geliyor. Özellikle 2025’e yaklaştıkça, hacker’lar sürekli yeni yöntemler geliştirirken, biz de onları durdurmanın yollarını arıyoruz. İnternetin büyümesiyle birlikte, her web sitesi sahibi kendini...

Web Sitesi Güvenliğini Arttırmak İçin 2025'te Kullanılması Gereken En İyi 5 SSL Sertifikası Seçeneği

Web sitesi güvenliği, dijital dünyada birinci öncelik haline geldi. Kullanıcı bilgilerini korumak, marka güvenilirliğini artırmak ve web sitenizin arama motorlarında üst sıralarda yer almasını sağlamak için doğru SSL sertifikasını seçmek çok önemlidir....

Web Sitenizi Güçlendirmek İçin En İyi 7 WordPress Güvenlik Eklentisi ve Neden Kullanmalısınız?

---Web Sitenizi Güçlendirmek İçin En İyi 7 WordPress Güvenlik Eklentisi ve Neden Kullanmalısınız?Web sitesi yöneticisi olmanın en zorlayıcı yönlerinden biri, site güvenliğini sağlamaktır. Özellikle WordPress gibi popüler platformlarda, sitenizi kötü niyetli...