CSRF NEDİR ? (1 Viewer)

Joined
Dec 21, 2016
Credits
0
Rating - 0%
CSRF ya da XSRF olarak kısaltılabilen Cross Site Request Forgery (Siteler Arası İstek Sahtekârlığı), zafiyeti barındıran web uygulamasına yapılan bir isteğin, uygulama üzerinden yapıldığının anlaşılamamasından kaynaklanan bir açık türüdür. Yani Session Riding olarak da bilinen CSRF açıkları, web sitesine giden isteklerin, site üzerinden gidip gitmediğini kontrol eden bir mekanizmanın eksikliğinden dolayı meydana gelmektedir.

CSRF zafiyetiyle yapılabilecekler, web uygulamasının kullanıcıya verdiği yetkiyle doğru orantılıdır. Saldırgan, bazen bir form ile bazen de bir img etiketi vasıtasıyla kurbanın çeşitli istekler yapmasını sağlayabilir. Bu sırada kurban kendisine yaptırılan istekten habersizdir. Saldırının gerçekleşmesi için gönderilen JavaScript veya HTML kaynakların çalışması için kurbanın uygulama üzerinde çevrimiçi bir halde olması gerekir.

Örneğin, saldırgan CSRF açığı bulunan bir bankanın web sitesinde işlem yapan bir kullanıcıyı, para transferi yaptırmaya zorlayabilir. Ya da saldırgan, kurbanın sosyal medya hesabından başka bir kullanıcıya mesaj göndermesini sağlayabilir. CSRF zafiyetinin neden olabileceği pek çok senaryoyu akla getirmek mümkündür.





CSRF ve XSS FSarkı

CSRF’nin oluşmasında web sitesinin kullanıcıya ait web tarayıcısına duyduğu güvenin suistimali söz konusuyken; XSS’nin oluşmasının temelinde kullanıcının, web sitesine sağladığı güvenin suistimali yatmaktadır. Bir CSRF saldırısının meydana gelmesi için session (oturum) kimliğinin doğrulanmış olması gerekmektedir. XSS’te ise buna gerek yoktur. Açık bulunan web sitesinde girdiler üzerinde herhangi bir doğrulama ya da escaping işlemi yapılmadığı için ortaya çıkar.

XSS’te, sunucu bir doğrulama işlemi gerektirmez ya da birincil kontrol mekanizması olarak girdiyi escaping işlemine tabi tutmazsa saldırgan; türlerine göre uzaktan kontrol edilebilen, veritabanında kalıcı olan ya da ekrana geri yansıtılabilen cookie, url parametresi, form alanları gibi girdi alanları ve istek parametrelerinin herhangi bir çeşidi vasıtasıyla uygun girdiyi gönderebilir. CSRF içinse şu örnek aydınlatıcı olabilir:

Banka hesabınıza giriş yapmış olduğunuzu aynı anda başka bir sekmede bir sosyal medya hesabınızın açık olduğunu varsayalım. Saldırganın sosyal medya hesabınız üzerinden size gönderdiği bağlantıya tıkladığınızı düşünelim. Siz, bağlantıya farklı bir site üzerindeyken tıklamış dahi olsanız saldırganın gönderdiği zararlı URL arkaplanda saldırıyı gerçekleştirmiş olacak ve senaryoya göre para transferi yapmış olacaktır. Çünkü oturum bilginiz tarayıcıda hâlâ aktif ve tarayıcı session id’nize sahiptir. Halbuki para transferi formunda alınmış bir önlem bu saldırının gerçekleşmesini engelleyecektir. Ayrıca XSS’nin CSRF saldırılarına neden olabileceği ihtimali de unutulmamalıdır.





CSRF Açıklarını Tespit Etme


CSRF açığının tespiti için seçilebilir en kolay yol elbette Netsparker, Acunetix gibi otomatize edilmiş programların kullanılmasıdır. Bunun yanı sıra OWASP CSRFTester, Fiddler, Burp Suite gibi programlarla da bunu yapmak mümkündür.

Manuel olarak yapılan testlerde en bilinen yol, her kullanıcı için sabit olmayan ve tahmin edilemez token’lerin bulunup bulunmadığını araştırmaktır. Bu araştırmanın hedefi bir takım silme, ekleme, değiştirme gibi fonksiyonları çalıştıran linkler ve formlar olmalıdır.


 

Users who are viewing this thread

Top