Bir sitenin kullanıcılarına javascript ile çerezlere erişmesine ve değiştirmesine izin vermenin bir güvenlik sorunu olup olmadığını merak ediyordum? Kullanıcıların buna sahip olmasına izin vererek ne gibi zararlar olabilir? Bazı durumlarda sadece bir güvenlik sorunu olarak kabul edilir, başkaları değil midir? Ayrıca HttpOnly çerezleri kullanarak kullanıcının çerezleri değiştirmesini önler mi?Kullanıcılara javascript aracılığıyla çerezlere erişme izni veriliyor
cevap
Yaklaşık iki farklı senaryoyu söz ediyoruz: JavaScript'in tanımlama okuma/değiştirme izin
- onlar HttpOnly
1) JavaScript izin verilmesi olarak işaretlenir eğer bir kullanıcı çerezleri değiştirebilir çerezleri oku/değiştir.
Normalde JavaScript'in tanımlama bilgilerine (okuma veya yazma) erişmesini istememenizin nedeni, çoğu sitenin site kimlik doğrulamasını işlemek için çerez kullanmasıdır. Saldırganların bir web sitesinde Cross-Site Scripting (XSS) istismarını yaratması yaygındır ve bunu kimlik doğrulama çerezinin değerlerini okumak ve saldırganın kontrol ettiği bir sunucuya göndermek için kullanın. Saldırganın oturum çerezleri olduğunda, saldırganın saldırganların kimlik doğrulama çerezinin değerlerini saldırganlar oturumuna ekleyebilmesi için (sitenin güvenliğine bağlı olarak) bir şans vardır. Daha sonra hedef alana gittiklerinde mağdur olarak muamele görürler ve kurbanın yapabileceği her şeyi yapabilirler.
Çerezleri çalmak XSS ile yapılabilecek tek şey değildir, daha fazla okumak için OWASPS - A3 Cross-Site Scripting write-up'a bakın. onlar HttpOnly
Evet olarak işaretlenir ise
2) Bir kullanıcı tanımlama bilgilerini düzenleyebilir. Kullanıcı, çerezleri, html, css, JavaScript'i, makinelerindeki her şeyi değiştirebilir. Bu yüzden, sırlar müşterinin bilgisayarında asla saklanmamalı ve istemci/kullanıcının bilgisayarından gelen HERHANGİ değerlerin geçerli olduğu kanıtlanana kadar güvenilmez olarak görülmesi gerekir.
- 1. Kayıtlı tüm çerezlere erişme
- 2. Uzak masaüstü bilgisayarlarına localhost'un web servisine erişme izni veriliyor
- 3. Javascript aracılığıyla bir ActionScript işlevine erişme
- 4. javascript: Farklı karelerdeki nesnelere erişme izni var mı?
- 5. Javascript nesnesi prototipine erişme
- 6. Program işlevine program aracılığıyla erişme
- 7. İstemcinin 'localhost'una JavaScript Online'dan erişme
- 8. Javascript kapatıcısında 'this'e' erişme
- 9. itunesconnect login - Apple ID'nin iTunes'a erişme izni yok. Connect
- 10. Form değerlerine JavaScript ile erişme
- 11. Django şablonuna erişme {{Variable}}, JavaScript
- 12. Azure Active Directory'ye program aracılığıyla erişme
- 13. Drive API aracılığıyla bir klasördeki dosyalara erişme?
- 14. Grafiksel veri kaynak adına program aracılığıyla erişme
- 15. Kullanıcıların sadece belirli etiketleri girmesine izin veriliyor
- 16. Çerezlere nasıl erişilir ApplicationController (Rails)
- 17. Çerezlere nasıl yardımcı özelliklerle girerim?
- 18. Yazıcıyı JavaScript aracılığıyla iletişim kurun
- 19. Firebug konsolu aracılığıyla javascript yükleme
- 20. Değişen arama değeri javascript aracılığıyla
- 21. Bir HTTP sunucusundaki üst düzey dizinler aracılığıyla HTML'deki JavaScript dosyasına erişme
- 22. Bir HTML dosyasındaki Javascript değişkenine erişme
- 23. GET Form verisinden erişme - Javascript Formu Django'da
- 24. Geçerli sayfanın javascript sayfasına erişme [no ajax]
- 25. JavaScript XPath sorgusunda bir düğüm kümesine erişme
- 26. JavaScript
- 27. İçerik sağlayıcı izni yok uri izni
- 28. PHP kullanıcılara yönlendirme yapmıyorsa
- 29. Kullanıcılara Elixir Akışı Sesi
- 30. socket.io - belirli kullanıcılara yayın
Bu bir güvenlik sorunu değildir. Aslında, bunu önlemek mümkün değildir, çünkü çerezler kullanıcı tarafından saklanır. – afuous