folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Asp.Net Mvc CSRF Koruması ?



Asp.Net Mvc CSRF Koruması ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Asp.net mvc de kullanıcıya veri girişi yada güncelleme tarzı birşey yaptırdığım zaman ilgili view içerisinde formun içine @Html.AntiForgeryToken() yazıyorum.Sonra formun post edileceği action methoda da [ValidateAntiForgeryToken] Attribute unu ekliyorum.

    Buna ek olarak ilgili action method içinde Request.UrlReferrer diyerek referrer kontrolu yapayım mı? Yada bu referrer kontrolunu bir attribute içinden yaparım istediğim action methodların tepesine o attribute u yazarım. Ama bu kontrole gerek var mı yok mu? Yada csrf dısında nerelerde bu referrer kontrolunu yaparız?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Diathorus
    Diathorus's avatar
    Kayıt Tarihi: 19/Mayıs/2014
    Erkek

    CSRF koruması için [ValidateAntiForgeryToken] yeterli diye biliyorum ben. Yabancı kaynaklarda da bu şekilde okumuştum.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Peki bu referrer kontrolunu nerelerde yapmak lazım hocam o konuda bi fikrin var mı?

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    Hocam neden böyle bir koruma yöntemine gerek duydun?


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Şimdi kullanıcı diyelimki zararlı bir siteye girdi. Aynı zamanda bizim sitedede oturum açık. Zararlı sitede javascript koduyla kullanıcıya benim sitemdeki bir form doldurtulabilir.Bunu önüne geçmek için asp.net mvc de AntiForgeryToken() muhabbetini kullanıyoruz. CSRF saldırısı diye geçiyor.Bazı yerlerde sadece referrer kontrolu yapmayın mutlaka token falanda ekleyin demişler.Bense sadece token eklıyorum referrer falan kullanmadım hıc.Ondan acaba dedim referrer kontrolunu nerelerde kullanırız.CSRF için kullanmaya gerek var mıdır..

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    Hannibal_King bunu yazdı

    Şimdi kullanıcı diyelimki zararlı bir siteye girdi. Aynı zamanda bizim sitedede oturum açık. Zararlı sitede javascript koduyla kullanıcıya benim sitemdeki bir form doldurtulabilir.Bunu önüne geçmek için asp.net mvc de AntiForgeryToken() muhabbetini kullanıyoruz. CSRF saldırısı diye geçiyor.Bazı yerlerde sadece referrer kontrolu yapmayın mutlaka token falanda ekleyin demişler.Bense sadece token eklıyorum referrer falan kullanmadım hıc.Ondan acaba dedim referrer kontrolunu nerelerde kullanırız.CSRF için kullanmaya gerek var mıdır..

    Cross-domin call'leri browser hali hazırda engellemiyor mu?


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nick6
    0x656e
    0x656e's avatar
    Kayıt Tarihi: 19/Mayıs/2012
    Homo
    Hannibal_King bunu yazdı

    Şimdi kullanıcı diyelimki zararlı bir siteye girdi. Aynı zamanda bizim sitedede oturum açık. Zararlı sitede javascript koduyla kullanıcıya benim sitemdeki bir form doldurtulabilir.Bunu önüne geçmek için asp.net mvc de AntiForgeryToken() muhabbetini kullanıyoruz. CSRF saldırısı diye geçiyor.Bazı yerlerde sadece referrer kontrolu yapmayın mutlaka token falanda ekleyin demişler.Bense sadece token eklıyorum referrer falan kullanmadım hıc.Ondan acaba dedim referrer kontrolunu nerelerde kullanırız.CSRF için kullanmaya gerek var mıdır..

    Bilmedigimden soruyorum same origin policy zaten bu gorevi yapmıyor mu :/ ben olayi yanlis mi.anlamisim

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    0x656e bunu yazdı
    Hannibal_King bunu yazdı

    Şimdi kullanıcı diyelimki zararlı bir siteye girdi. Aynı zamanda bizim sitedede oturum açık. Zararlı sitede javascript koduyla kullanıcıya benim sitemdeki bir form doldurtulabilir.Bunu önüne geçmek için asp.net mvc de AntiForgeryToken() muhabbetini kullanıyoruz. CSRF saldırısı diye geçiyor.Bazı yerlerde sadece referrer kontrolu yapmayın mutlaka token falanda ekleyin demişler.Bense sadece token eklıyorum referrer falan kullanmadım hıc.Ondan acaba dedim referrer kontrolunu nerelerde kullanırız.CSRF için kullanmaya gerek var mıdır..

    Bilmedigimden soruyorum same origin policy zaten bu gorevi yapmıyor mu :/ ben olayi yanlis mi.anlamisim

    Hocam bende aynı şeye takıldım o yüzden sordum. CSRF'i koymak için tek geçerli neden adamların direk olarak servislerime request yapmaması olabilir (bot vs. için).

     

    TeRRoR tarafından 01/Eyl/16 16:11 tarihinde düzenlenmiştir

    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Checking_The_Origin_Header

    http://stackoverflow.com/questions/33261244/why-same-origin-policy-isnt-enough-to-prevent-csrf-attacks

    https://webuygulamaguvenligi.wordpress.com/2010/05/30/14-csrf-cross-site-request-furgery/

    http://security.stackexchange.com/questions/81194/uses-of-same-origin-policy/81331#81331

    Burda bişeyler yazmışlar son linktede "The SOP does not stop a cross-domain AJAX request "  falan yazmış eleman tek başına çözüm olmadığını söylüyorlar sanırım.Hani veri okuyamaz yani isteği yapar ama cevabı göremez demişler bide.

    owasp dada hem referrer bakın hemde işte bu token muhabbetını yapın demısler. Bende referrer ı ondan sordum işte. Yani bence token kullanmaya kesinlikle ihtiyaç var hocalar.Ama referrer konusunda kararsız kaldım.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Homer
    Homer's avatar
    Kayıt Tarihi: 08/Temmuz/2007
    Erkek

    Referer kontrolu güçlü bir yöntem değil. Bazı kullancılar gizlilik sebeblerine göre referer header kapatıyorlar. 

    Eğer sitende bir çok forum varsa,Salt kullanarak böyle bir şey yapa bilirsin  :

    Html.AntiForgeryToken("herHangiBirAttributeAdi")

    ve action methoda

    [ValidateAntiForgeryToken(Salt="herHangiBirAttributeAdi")]

    Bu yöntem ile eğer token korumasını keçildiyse diğer Salt değeri her forumda farklı atandığı için tahmin edmiyecekdir.

    Bundan başqa XSS karşı önlem mutlaka al, eğer XSS açığın varsa zaten kullanıcının anti-forgery-token okuna bilecek.

    Başka bir yöntem, her kullanıcı için formda birer 'şifre' oluştur bunun için GUID() kullana ve ya her hangi method yazıb random şifre oluştura bilirsin. Şifreni hidden field olarak view de tanımla ve kullanıcının session ve ya cookie da kayd edib ordan okuya bilirsin.

    Çalışdığım şirketde biz sadece AntiForgeryToken kullanıyoruz sadece proje internal çalışacağı için rahatsız.

    türkçem iyi olmaya bilir kusura bakma.

     

     

     

    Homer tarafından 01/Eyl/16 20:35 tarihinde düzenlenmiştir
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    https://msdn.microsoft.com/en-us/library/dd492767(v=vs.118).aspx  burdaki linkte AntiForgeryToken metodunun salt değer alan override larına obsolete demişler.Eskimiş değil mi?

    XSS içinde kullanıcıdan veri alırken zaten mvc default olarak tehlikeli karakterleri engellemiyor mu? Ekstra olarak neler yapıyorsunuz hocam XSS için?

Toplam Hit: 1785 Toplam Mesaj: 16
asp.net mvc csrf