sjm*_*ett 6 asp.net security session-hijacking
我最近阅读了一篇关于使ASP.NET会话在这里更安全的文章,起初它似乎非常有用.
以前我一直在会话中存储用户的IP地址,然后在每个后续请求中确保请求的IP等于存储的IP.
本文中的代码还通过检查IP地址来保护会话,除了它存储包含用户IP作为会话cookie一部分的散列消息验证代码.它会在每次请求时创建一个哈希MAC两次,我想这会让事情变慢一些.
我已经可以看到他们的代码中存在一个潜在的缺陷:如果你以某种方式获得了用于生成MAC的密钥,那么你可以使用自己的IP生成一个有效的MAC - 你甚至不必伪造IP会议开始了.
对于一个简单的问题来说,这似乎是一个过于复杂的解决方案,它不仅会产生更大的开销,而且比普通的方法更容易受到攻击 - 除非我完全忽略了这一点.
那么,为什么这种方法比我一直使用的更简单的方法更安全?
稍作一提,作者还指出,您不应该在比较中使用整个IP地址,因为如果某个用户的IP位于代理后面,则会更改每个请求.如果你检查X_FORWARDED_FOR,情况仍然如此吗?
谢谢!
| 归档时间: |
|
| 查看次数: |
5934 次 |
| 最近记录: |