我在我的Java EE應用程序(客戶端上的jQuery)中使用Cookie,並以安全爲關鍵點,我開始知道可以讀取Cookie並通過閱讀article來編輯它們。我真的想從這些攻擊中解脫出來。如何保護我的網站免受注射(Cookie編輯)
我在SO上讀了How to prevent Javascript injection attacks within user-generated HTML,但沒有找到解決方案來保證我的cookies安全。
我在我的Java EE應用程序(客戶端上的jQuery)中使用Cookie,並以安全爲關鍵點,我開始知道可以讀取Cookie並通過閱讀article來編輯它們。我真的想從這些攻擊中解脫出來。如何保護我的網站免受注射(Cookie編輯)
我在SO上讀了How to prevent Javascript injection attacks within user-generated HTML,但沒有找到解決方案來保證我的cookies安全。
有幾個標誌可以爲cookie來緩解安全風險設置。
該安全標誌。它強制該cookie只能通過https發送。這很重要,即使您的網站使用https。爲什麼?假設一家銀行網站強制最終用戶使用https。用戶通過https連接到銀行網站,登錄成功。銀行網站通過https將cookie發送回用戶瀏覽器。假設黑客可以嗅探網絡並查看最終用戶和銀行網站之間的所有明文通信。顯然現在,黑客看不到任何東西,因爲cookie是通過安全通道傳輸的。這裏是黑客如果沒有設置HttpOnly標誌可以做什麼
a)黑客創建一個網站www.maliciouscode.com。
b)他通過鏈接向最終用戶發送一封電子郵件,引誘最終用戶訪問該網站。
c)用戶使用誘餌,通過另一個瀏覽器選項卡連接到http://www.maliciouscode.com網站。
d)惡意網站通過http重定向用戶瀏覽器到銀行網站。
e)用戶瀏覽器通過HTTP將cookie發送到銀行網站。
F)黑客截獲的cookie,因爲它是作爲明文發送,並將其放置在自己的瀏覽器,並登錄爲用戶
的的HttpOnly標誌。這個名字是誤導性的。這不是安全標誌的反面。這意味着cookie只能由瀏覽器通過http(和https)協議使用,但不能用於其他方式,如JavaScript。如果支持HttpOnly的瀏覽器檢測到包含HttpOnly標誌的cookie,並且客戶端腳本代碼嘗試讀取cookie,則瀏覽器會返回一個空字符串作爲結果。這是爲了防止XSS攻擊。
謝謝。這很好。請試着使用這兩個標誌。 – 2013-03-02 06:27:06
除非您的站點(或用戶的系統)存在其他漏洞,否則第三方無法修改cookie。
因此,您可以像對待來自客戶端的任何其他數據一樣對待它們(除非您不需要擔心cookie數據與CSRF attack僞造)。也就是說:儘可能多地信任該用戶。
Cookie不安全。忘記保護他們。
你到底在用什麼cookies?你的後端是否支持會話和會話ID?使用會話ID並在會話中存儲數據不是防彈的,但它比直接將cookie存儲在cookie中更安全。確切地說, – 2013-03-01 19:33:26
,會話ID和用戶的一些事務ID也是。 – 2013-03-01 19:34:31