【发布时间】:2010-12-21 22:58:22
【问题描述】:
我了解通过窃取 asp.net 会话 cookie 来劫持 asp.net 会话是可能的。我想我正在考虑窃取 cookie,因为它是通过不安全的 wi-fi 传输的。
除了使用 SSL 之外,还有其他标准方法来保护这些信息吗?还是防止会话劫持?
【问题讨论】:
标签: asp.net security session-state
我了解通过窃取 asp.net 会话 cookie 来劫持 asp.net 会话是可能的。我想我正在考虑窃取 cookie,因为它是通过不安全的 wi-fi 传输的。
除了使用 SSL 之外,还有其他标准方法来保护这些信息吗?还是防止会话劫持?
【问题讨论】:
标签: asp.net security session-state
遗憾的是,防止 cookie 被用于重放攻击的唯一方法是通过 HTTPS 发送它们,因为这样可以确保 cookie 本身是加密的,因此不会被窥探。
您是否看过 Jeff Atwood 关于此事的博客文章Breaking the Web's Cookie Jar? Jeff 更多地从用户的 角度关注问题,但无论如何都值得一读。以下是他所说的人们今天可以做的事情:
因此,现在,今天,您可以采取以下措施来保护自己:
我们应该非常小心我们在未加密的无线网络上的浏览方式。
养成通过 HTTPS 访问网络邮件的习惯。
游说您用来提供 HTTPS 浏览的网站。
这是非常广泛的建议,上面有很多技术警告。但这是宣传开放无线网络的风险和负责任使用的起点。
未来可能需要某种新的、更安全的 cookie 方法,但谁知道是否会有足够的吸引力来保证这种变化或足够的兴趣来拒绝采用。对于安全性至关重要的 Web 应用程序(例如医疗信息网站、金融网站等),唯一可行的选择是在用户的整个浏览会话中要求 HTTS。
【讨论】:
对于这个问题没有简单的解决方案,除了要求每个页面请求都提供身份验证信息(这是不切实际的,并且从未加密环境中的安全角度来看更糟)。
为了在使用 HTTP(无状态)时保持状态,必须使用 cookie 之类的东西。如果该 cookie 是在未加密的情况下发送的,它可以被其他人使用。
附带说明,如果您必须在会话被劫持和密码泄露这两种弊端之间做出选择,您宁愿让会话被劫持。这就是为什么像密码修改这样的更改需要重新验证以使被劫持的会话无法接管帐户本身至关重要的原因。当然,如果身份验证凭据未加密,也可以绕过。
【讨论】: