ASP.NET加密漏洞是否适用于大型LIE?
这个问题在某种程度上是
How serious is this new ASP.NET security vulnerability and how can I workaround it?的后续问题所以,如果我的问题似乎被打破,请首先阅读这个问题及其接受的解决方案,然后将其纳入我的问题的背景中.
有人可以解释为什么返回相同的错误页面和相同的自定义错误状态代码很重要?我发现这是无关紧要的,特别是如果这是作为其工作的一部分提倡的话. 是不是脚本/应用程序执行此攻击同样容易,而不是特别关心它是否获得http状态代码以及结果更多?即这样做了4000次,你被重定向到一个错误页面,在4001你留在同一页面,因为它没有使填充无效? 我知道为什么在错误页面中添加延迟有点相关,但是这也不会只是添加另一层来欺骗脚本以为该站点是无效目标? 如果脚本考虑到,由于该站点是asp.net,它运行AES加密,它会忽略错误页面的时间并监视重定向或缺少重定向作为响应向量,可以做些什么来防止这种情况?如果脚本这样做意味着没有办法阻止它? 编辑:我接受时间攻击减少,但错误页面部分是真正的虚假.此攻击向量将其数据放入视图状态.只有2个案例.通过.失败. 要么失败,要么在页面上,并且视图状态不包含其数据.无论你在这里做什么,都无法删除失败案例,因为除非成功破解密钥,否则页面将永远不会包含其插入的数据.这就是为什么我无法证明自定义错误的使用是否具有任何效果. 或者通过,它们位于页面上,并且视图状态包含其插入的数据. 此漏洞的摘要 获取来自WebResoure.axd / ScriptResource.axd的密钥,并且使用验证密钥的第一个猜测来生成具有加密文本的潜在密钥的值. 此时此值传递给WebResource.axd / ScriptResource.axd,如果解密密钥被正确猜测,他们的响应将被接受但由于数据是垃圾,因此它正在寻找WebResource.axd / ScriptResource.axd将返回404错误. 如果未成功猜到解密密钥,则填充无效异常将收到500错误.此时,攻击应用程序知道增加潜在的解密密钥值并再次尝试重复,直到它从WebResource.axd / ScriptResource.axd找到第一个成功的404. 成功推导出解密密钥后,可以使用该网站来查找实际的机器密钥. 解决方法
回覆:
我不认为原来的问题很清楚,我会解决它: 谁说错误需要返回200?这是错的,你只需要所有的错误来返回相同的代码,使得所有错误返回500也会起作用.配置提议作为一个解决方案恰好使用200. 如果您不进行解决方法(即使它自己的版本始终返回500),您将看到404与500之间的差异.在webresource.axd和scriptresource.axd中尤其如此,因为解密的无效数据是缺少的资源/ 404. 仅仅因为您不知道哪个功能存在问题,并不意味着asp.net中没有功能在不同的场景中提供与填充与无效数据相关的不同响应代码.就个人而言,我不能确定是否还有其他功能可以提供不同的响应代码,我只能告诉你那些2.
斯里兰卡已经在你所关联的问题中非常清楚地回答了这一点 它不是隐藏而不是发生错误,而是确保攻击者无法区分错误.具体是关于确保攻击者无法确定请求是否失败,因为它无法解密/填充无效,因为解密数据是垃圾. 你可能会说:好吧,但我可以确保它对应用程序来说不是垃圾.当然,但你需要在应用程序中找到一个允许你这样做的机制,以及攻击的工作方式你总是需要在消息中至少有一点点垃圾.考虑这些: > ScriptResource和WebResource都抛出,因此自定义错误会隐藏它. 我发布了on my blog攻击到目前为止如何能够伪造身份验证cookie.
如上所述,您需要找到一种行为方式的机制,即解密的垃圾停留在同一页面上,而不是抛出异常/从而使您进入相同的错误页面.
阅读我上面提到的关于视图状态的内容.另请注意,在获得解密功能后,可以获得更准确地重新加密的能力.也就是说,如上所述,默认情况下视图状态不是那种方式,而且当它通常伴随着签名/验证时. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – 简单会员:用户的上次登录日期
- asp.net – 获取连接到SignalR hub的客户端数量
- iis – 在ASP类中处理End Request事件
- asp.net – DropDownList获取底层对象
- asp.net页面中的静态变量
- asp.net-core – 哪些.NET框架版本支持.NET Framework(CLR)
- asp.net-mvc – 编写单元测试以验证所有ASP.NET MVC控制器是
- asp.net – 将我的Web应用程序文件发布到远程服务器wwwroot
- asp.net – WSDL.exe工具的/ serverInterface和/ server选项
- asp.net-core-mvc – 什么是Asp.Net Core MVC中的IViewLoca
- .net – 使用Model First方法时如何种子数据?
- [译]ASP.NET Core 2.0 网址重定向
- asp.net – jQuery flot,来自SQL Server的Live p
- asp.net-mvc – N2 for MVC – 如何让Zones工作?
- iis-7.5 – 使用虚拟目录/应用程序在IIS中托管AS
- 如何保护我的ASP.NET AJAX应用程序?
- 仅为匿名配置ASP.NET缓存?
- asp.net-mvc – 在ASP.Net MVC3的Razor视图中将值
- ASP.NET性能优化之让浏览器缓存动态网页的方法
- asp.net-mvc – 如何在ASP.NET MVC中执行[Requir