【问题标题】:Session Hijacking Protection in ASP.NETASP.NET 中的会话劫持保护
【发布时间】:2011-02-17 06:30:45
【问题描述】:

我想了解当前版本的 ASP.NET 中内置了哪些会话 ID 劫持保护。

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

这篇文章似乎是为 ASP.NET 1.1 编写的,所以我想知道现在 ASP.NET 中是否内置了类似的东西。实现这样一个附加层还有什么好处吗?

谢谢。

【问题讨论】:

  • 是否有可能更新到“这篇内容丰富的文章”的链接?不幸的是,它已经过时了。
  • @SlogmeisterExtraordinaire 对不起,这是大约 6 年前的事了。我什至不记得文章的内容,因此无法再次搜索它。我想这可以通过我上面写的关于 IP 编码的内容来概括。

标签: asp.net security session session-hijacking


【解决方案1】:

从会话概述文档中查看这个 sn-p:

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

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

在我看来,这意味着 Session 中没有安全性,因此您可能不应该将 Session 用作安全措施。相反,我建议依靠 ASP.NET 安全性(身份验证、授权)。

这是来自 Patterns & Practices 小组的一篇关于 ASP.NET 的一般安全建议的文章。

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

【讨论】:

    【解决方案2】:

    嘿,我也一直在寻找降低会话 ID 劫持风险的方法。我也读了Jeff Prosise's article,我认为它可能有用;但是,就像你一样,我想看看相同的方法是否适用于现代版本的框架(他的电子邮件 wicked@microsoft.com 顺便说一句不起作用)

    jkohlhepp,我不同意你的帖子(或者我不明白):

    您可能不应该使用 Session 作为安全措施。相反,我建议依靠 ASP.NET 安全性(身份验证、授权)

    就我而言,asp.net 身份验证依赖于会话 ID(除了 cookieless,这似乎更糟:See Dino Esposito's opinion

    所以,这几乎让我们回到了起点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      • 2011-02-08
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多