Asp.net
某些黑客能否從使用者那裡竊取 Web 瀏覽器 cookie 並在網站上使用該名稱登錄?
閱讀這個問題, 不同的使用者在 .ASPXANONYMOUS 中獲得相同的 cookie - 值
並尋找解決方案,我開始思考,如果有人真的可以通過某種方式竊取 cookie,然後將其放在他的瀏覽器上並以管理員身份登錄。
您知道表單身份驗證如何確保即使 cookie 被盜,黑客也不會在實際登錄中使用它嗎?
還有其他替代的自動防禦機制嗎?
是否可以竊取 cookie 並以管理員身份進行身份驗證?
是的,如果 Forms Auth cookie 未加密,則可能有人會破解他們的 cookie 以賦予他們更高的權限,或者如果不需要 SSL,則複製其他人的 cookie。但是,您可以採取一些措施來降低這些風險:
在 system.web/authentication/forms 元素上:
- 要求SSL=真。這要求 cookie 僅通過 SSL 傳輸
- 滑動過期=假。如果為 true,則可以重新啟動過期的票證。
- 無餅乾=假。不要在您試圖強制執行安全性的環境中使用無 cookie 會話。
- enableCrossAppRedirects=false。如果為 false,則不允許跨應用程序處理 cookie。
- 保護=全部。使用 machine.config 或 web.config 中指定的機器密鑰對 Forms Auth cookie 進行加密和散列。此功能將阻止某人破解他們自己的 cookie,因為此設置告訴系統生成 cookie 的簽名,並在每個身份驗證請求上,將簽名與傳遞的 cookie 進行比較。
如果您願意,您可以通過在 Session 中放置某種身份驗證資訊來添加一點保護,例如使用者使用者名的雜湊(絕不是純文字的使用者名或密碼)。這將要求攻擊者竊取 Session cookie 和 Forms Auth cookie。