Siteler Arası İstek Sahteciliği Nedir?

CSRF veya Siteler Arası İstek Sahteciliği, bir saldırganın bir kurbanın başka bir web sitesindeki oturumunda bir eylemin gerçekleşmesine neden olabileceği bir web sitesi güvenlik açığıdır. CSRF'yi bu kadar riskli yapan şeylerden biri, kullanıcı etkileşimi bile gerektirmemesidir, tek gereken kurbanın içinde istismar bulunan bir web sayfasını görüntülemesidir.

İpucu: CSRF genellikle harf harf veya “deniz sörfü” olarak telaffuz edilir.

CSRF saldırısı nasıl çalışır?

Saldırı, saldırganın başka bir web sitesinde istekte bulunma yöntemine sahip bir web sitesi oluşturmasını içerir. Bu, bir düğmeye basmak gibi kullanıcı etkileşimi gerektirebilir, ancak etkileşimsiz de olabilir. JavaScript'te bir eylemin otomatik olarak gerçekleşmesini sağlamanın yolları vardır. Örneğin, sıfıra sıfır piksel bir resim kullanıcı tarafından görülmez, ancak "src" başka bir web sitesine istekte bulunacak şekilde yapılandırılabilir.

JavaScript, istemci tarafı bir dildir, bu, JavaScript kodunun web sunucusu yerine tarayıcıda çalıştırıldığı anlamına gelir. Bu gerçek sayesinde CSRF talebini yapan bilgisayar aslında kurbanın bilgisayarıdır. Ne yazık ki bu, isteğin kullanıcının sahip olduğu tüm izinlerle yapıldığı anlamına gelir. Saldıran web sitesi kurbanı CSRF isteğinde bulunması için kandırdığında, istek esasen kullanıcının normal olarak istekte bulunmasından ayırt edilemez.

CSRF, tarayıcı bu ayrıcalıklara sahip olmayan bir saldırgan tarafından izinlerini kullanmaya kandırıldığından, web tarayıcısına yönelik bir "kafası karışmış vekil saldırısına" bir örnektir. Bu izinler, hedef web sitesine yönelik oturum ve kimlik doğrulama belirteçlerinizdir. Tarayıcınız, yaptığı herhangi bir istekte bu ayrıntıları otomatik olarak içerir.

CSRF saldırılarının düzenlenmesi biraz karmaşıktır. Her şeyden önce, hedef web sitesinin hesabınızı silmek gibi yan etkileri olan bir forma veya URL'ye sahip olması gerekir. Saldırganın daha sonra istenen eylemi gerçekleştirmek için bir istek oluşturması gerekir. Son olarak, saldırganın, kurbanın hedef web sitesinde oturum açmışken, istismarın bulunduğu bir web sayfası yüklemesini sağlaması gerekir.

CSRF sorunlarını önlemek için yapabileceğiniz en iyi şey, bir CSRF belirteci eklemektir. Bir CSRF belirteci, çerez olarak ayarlanan rastgele oluşturulmuş bir dizedir, değerin, değeri içeren bir istek başlığının yanında her yanıta dahil edilmesi gerekir. Bir CSRF saldırısı tanımlama bilgisini içerebilirken, başlığı ayarlamak için CSRF belirtecinin değerini belirleyemez ve bu nedenle saldırı reddedilir.