登录$.ajax()到站点后,我尝试$.ajax()向该站点发送第二个请求 - 但是当我检查使用FireBug发送的标头时,请求中不包含会话cookie.
我究竟做错了什么?
我刚刚在网上看到了ASP.NET中新发现的安全漏洞.你可以在这里阅读详细信息.
问题在于ASP.NET实现AES加密算法的方式,以保护这些应用程序生成的cookie的完整性,以便在用户会话期间存储信息.
这有点模糊,但这里有一个更令人恐惧的部分:
攻击的第一阶段需要几千个请求,但一旦成功并且攻击者获得了密钥,它就完全是隐秘的.所需的加密知识是非常基本的.
总而言之,我对安全性/密码学不够熟悉,但要知道这是否真的那么严重.
那么,是否所有ASP.NET开发人员都担心这种技术可以在几秒钟内拥有任何ASP.NET网站或者什么?
这个问题如何影响普通的ASP.NET开发人员?它会影响我们吗?在现实生活中,这个漏洞的后果是什么?最后:是否有一些可以防止此漏洞的解决方法?
谢谢你的回答!
所以,这基本上是一种"填充oracle"类型的攻击.@Sri提供了一个很好的解释,说明这种类型的攻击是什么意思.这是一个关于这个问题的令人震惊的视频!
关于此漏洞的严重性:是的,它确实很严重.它允许攻击者了解应用程序的机器密钥.因此,他可以做一些非常不需要的事情.
以下是一些我没有解决问题的良好实践,但有助于提高Web应用程序的一般安全性.
现在,让我们关注这个问题.
解决方案
Application_Error或者Error.aspx放一些随机延迟的代码.(生成一个随机数,并使用Thread.Sleep长时间休眠.)这将使攻击者无法确定您的服务器上究竟发生了什么.其他一些想法
感谢所有回答我问题的人.我不仅了解了这个问题,还了解了网络安全性.我将@ Mikael的答案标记为已被接受,但其他答案也非常有用.
读这个问题
不同的用户在aspxanonymous中获得相同的cookie值
并且我开始思考,如果某个人可以通过某种方式真正窃取cookie,然后将其放在他的浏览器上,登录就可以说是管理员了.
您是否知道表单身份验证如何确保即使cookie被存储,黑客也不会使用它进行实际登录?
或者你知道其他任何自动防御机制吗?
先谢谢你.