如何保护Web应用程序免受用户会话劫持?

时间:2013-06-17 08:19:21

标签: c# asp.net-mvc security session

我需要保护我的Web应用程序(C#,MVC)免受用户会话劫持。这个web应用程序使用了很多AJAX组件。

一些编辑: 我的意思是防止拦截会话标识符。我在我的项目中有特定的架构:C#上的autorization point和返回会话ID的外部服务器。此会话ID用于客户端的javascript组件。我希望保护该会话ID不被替换。

https是唯一的方法吗?如果使用https,它会保护我免受拦截会话ID吗?

1 个答案:

答案 0 :(得分:2)

首先,您应该阅读OWAP的会话管理备忘单:https://www.owasp.org/index.php/Session_Management_Cheat_Sheet

第二:SSL可防止某些特定攻击,因此您需要它来保护您的会话ID,但这不是您必须考虑的唯一事项

第三:通过JavaScript访问会话ID并不是一个好主意,因为如果存在跨站点脚本等漏洞,它可能会被窃取。

是否真的有必要使用JavaScript提供此会话ID?将它设置为cookie,设置HttpOnly(无JS-Access)和安全标志(仅通过HTTPS传输)标志并让浏览器透明地进行会话处理是一个好主意,因为cookie是随之传输的。每一个请求。