3

我想实施措施以防止/减轻会话劫持。因此,我想知道选项,无论是从内置的ASP.NET还是自定义组件。ASP.NET中的会话劫持对策措施

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

我的ASP.NET一直在为所有页面使用HTTPS。但是,一旦会话cookie ID由第三方以某种方式获得,会话就可能被破坏,例如,从用户的硬盘驱动器,跨站点脚本攻击,人在这方面的中间人攻击

特别,我关心的会话ID劫持因为使用HTTPS所有的时间为我的项目

下面是我回顾了几年前写的链接:

Foiling Session Hijacking Attempts Jeff Prosise请参阅注意部分的缺点。

我无法找到很多相关信息,或与网络上的Jeff不同。

+0

请参阅[您认为会话复制是否存在安全风险?](http://stackoverflow.com/a/22833723/413180) – SilverlightFox

回答

0

这里有几个建议:

  1. 盐你的sessionId。这可以确保您拥有独特的会话Id - 尽管,我非常确定默认的ASP.NET会话Id对于您的目的而言足够独特;但是,为了增加安全性,您可以使用您可以控制或自我识别的内容。例如,你可以使用一个GUID作为盐 - 你可以通过更新来控制它,只要你认为合适。
  2. 跟踪用户的SessionId和用户ip地址作为字典对象中的一对。这将使您能够将会话ID匹配到IP地址,并显示出现在用户LAN外部的任何会话劫持。显然不是没有缺陷,因为如果用户的计算机或路由器受到感染,这无关紧要,但至少会让攻击者更难完成任务。

不确定如果用户的计算机受到感染,您会做什么,但无论您是否增加防御措施,都存在此风险。

+0

什么会阻止邪恶的第三方使用您的第一个提到的相同会话ID点?它仍然有效,你刚刚改变了这一代。正如你所提到的,当IP地址变化(漫游移动用户)和人们共享地址(谷歌的代理服务器)时,第二点存在缺陷。 – sisve