2010-05-26 93 views
7

我想知道什么会话ID劫持保护内置到当前版本的ASP.NET中。ASP.NET中的会话劫持保护

我最近看到this very informative article,它解释了如何通过实现将IP地址和用户代理头部编码到会话ID中的附加层来增强会话安全性。随后每个请求都会验证这些详细信息。

看来,这篇文章是为ASP.NET 1.1编写的,所以我想知道是否有类似的东西现在构建到ASP.NET中。实施这样的附加层还有什么好处吗?

谢谢。

+0

更新链接到“这篇非常翔实的文章”的任何可能性?不幸的是,它已经过时了。 – 2016-02-22 19:06:27

+0

@SlogmeisterExtraordinaire对不起,这是从近6年前。我甚至不记得文章的内容,所以再次搜索它不可能。我想这可以通过我上面写的有关IP编码的内容来总结。 – Martyn 2016-02-23 22:17:31

+0

@SlogmeisterExtraordinaire http://web.archive.org/web/20130307201452/http://msdn.microsoft.com/en-us/magazine/cc300500.aspx – jazzcat 2016-10-04 07:30:32

回答

6

退房从会议文件概述这个片段:

System.Web.SessionState.HttpSessionState.SessionID值以明文形式发送,无论是作为一个cookie或URL的一部分。恶意用户可以通过获取SessionID值并将其包含在对服务器的请求中来访问另一个用户的会话。如果您在会话状态中存储敏感信息,建议您使用SSL来加密浏览器和包含SessionID值的服务器之间的任何通信。

http://msdn.microsoft.com/en-us/library/ms178581.aspx

在我看来,这意味着不存在安全烤成会话,所以你可能不应该使用Session作为一种安全措施。相反,我会建议依靠ASP.NET安全性(身份验证,授权)。

这是一篇来自Patterns &实践小组的ASP.NET常规安全建议。

http://msdn.microsoft.com/en-us/library/ff649100.aspx

2

嘿,我也一直在寻找方法,以减少会话ID劫持的风险。我也读Jeff Prosise's article,我认为它可能会有用;然而,就像你一样,我期待着看看现代版本的框架是否适用相同的方法(他的电子邮件[email protected]不能顺便工作)

jkohlhepp,我不同意你的文章(或者我不明白):

你可能不应该使用会话作为安全措施。相反,我会建议依靠ASP.NET安全(认证,授权)

至于我关注asp.net身份验证依赖于会话ID(除了cookie的,这似乎更糟糕:See Dino Esposito's opinion

所以,这几乎把我们放在了我们开始的地方。