3

我想采取措施防止/减轻会话劫持。因此,我想知道来自内置 ASP.NET 或自定义组件的选项。

请注意,会话劫持指的是Forms Auth sessionSession State

我的 ASP.NET 一直对所有页面使用 HTTPS。但是,一旦第三方以某种方式(例如从用户的硬盘驱动器、跨站点脚本攻击和中间人攻击)获得会话 cookie id,则会话可能会受到损害

特别是,我担心会话 id 劫持,因为我的项目一直使用 https

以下是我查看的链接,这些链接是几年前写的:

挫败会话劫持尝试 Jeff Prosise请参阅警告部分了解其缺点。

我在网上找不到太多相关信息,或者与 Jeff 的不同。

4

1 回答 1

0

这里有几个建议:

  1. 给你的 sessionId 加盐。这将确保您拥有唯一的会话 ID——不过,我很确定默认的 ASP.NET 会话 ID 对于您的目的来说足够独特;但是,为了增加安全性,您可以使用您可以控制或自我识别的东西。例如,您可以将 GUID 用作盐 - 您可以通过根据需要进行更新来控制它。
  2. 在字典对象中将用户的 SessionId 和用户 IP 地址作为一对跟踪。这将使您能够将会话 ID 与 IP 地址相匹配,并揭示在用户 LAN 之外发生的任何会话劫持。显然并非没有缺陷,因为用户的计算机或路由器是否被感染并不重要,但至少会使攻击者更难完成任务。

不确定如果用户的计算机被感染了你会怎么做,但无论你是否增加防御措施,这种风险都存在。

于 2014-07-02T14:01:41.827 回答