我需要保护我的 web 应用程序(C#,MVC)免受用户会话劫持。这个 web 应用程序使用了很多 AJAX 组件。
一些编辑:我的意思是防止拦截会话标识符。我的项目中有特定的体系结构:C# 上的自动化点和返回我会话 ID 的外部服务器。此会话 ID 用于客户端的 javascript 组件中。我想保护该会话 id 不被替换。
https是唯一的方法吗?如果使用 https,它会保护我免受拦截会话 ID 吗?
我需要保护我的 web 应用程序(C#,MVC)免受用户会话劫持。这个 web 应用程序使用了很多 AJAX 组件。
一些编辑:我的意思是防止拦截会话标识符。我的项目中有特定的体系结构:C# 上的自动化点和返回我会话 ID 的外部服务器。此会话 ID 用于客户端的 javascript 组件中。我想保护该会话 id 不被替换。
https是唯一的方法吗?如果使用 https,它会保护我免受拦截会话 ID 吗?
首先,你应该阅读 OWAP 的会话管理备忘单:https ://www.owasp.org/index.php/Session_Management_Cheat_Sheet
第二:SSL 可以防止某些特定的攻击,因此您需要它来保护您的会话 ID,但这不是您唯一需要考虑的事情
第三:让您的 Session ID 可以通过 JavaScript 访问并不是一个好主意,因为如果存在跨站点脚本等漏洞,它可能会被盗。
真的有必要让这个会话 id 可用于 JavaScript 吗?最好将其设置为 cookie,设置 HttpOnly(无 JS 访问)和 Secure-Flag(仅通过 HTTPS 传输)标志,并让浏览器透明地进行会话处理,因为 cookie 是通过每一个请求。