2010-09-20 46 views
15

ASP.NET MVC 2容易受到oracle padding attack的影响吗?如果是这样,应该实施哪种解决方法? Scott Gu博客上的说明似乎只适用于Webforms。ASP.NET MVC是否容易受到Oracle填充攻击?

我尝试这样做:

<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="/Home/ErrorPage" /> 

然而,http://www.example.com/PageThatDoesNotExist仍然会返回一个标准的404错误页面。

编辑:我看到斯科特谷张贴在他的博客中说MVC是脆弱的意见,但它仍然不清楚我到底是如何实现的解决方法。

+0

我对此很好奇。 – Rohrbs 2010-09-20 17:36:07

+1

另请参阅http://stackoverflow.com/questions/3749083/oracle-padding-exploit-how-does-it-download-the-web-config – bzlm 2010-09-20 19:01:09

+0

刚刚更新我的问题,因为斯科特在这里发布了一个常见问题 - http:// weblogs.asp.net/scottgu/archive/2010/09/20/frequently-asked-questions-about-the-asp-net-security-vulnerability.aspx。 – 2010-09-21 07:55:58

回答

8

Yes - 与Scott Guthrie发表评论的链接。

周六,2010年9月18日9:00 PM由ScottGu

@Vijay,

请问ASP.NET MVC太会受到影响?

是的 - 所有版本的ASP.NET都受到影响,包括ASP.NET MVC。

感谢,

斯科特

我看到你已经看到了评论,但如果你的服务器上运行VBS脚本,它应该告诉你,如果它仍然是一个问题。

编辑:此外,斯科特在新帖子here讨论了常见问题解答。

+0

我无法运行脚本,因为我在Azure上部署。另外,该脚本似乎无法与Casini Web服务器(由VS使用的那个)一起使用。谢谢你的想法。 – royco 2010-09-20 21:57:35

2

在你的默认路由,你可以/应该对于初学者

routes.MapRoute("Catch All", "{*path}", new { controller = "Home", action = "ErrorPage" }); 

编辑2

的问题就出在部分redirectMode="ResponseRewrite"没有这个补充这一点,它的工作原理。

使用路线虽然将解决这个问题,其中,所述路径不能被找到(404)

下一部分,像与坏的ID或其他数据存在的路径,1份可以是固定的与

<customErrors mode="On" defaultRedirect="/Home/ErrorPage" /> 

redirectMode="ResponseRewrite"究竟做了什么?

编辑:它做了什么。

redirectMode

  • ResponseRedirect:指定 URL直接浏览器必须 从原来的Web 请求URL不同。
  • ResponseRewrite: 指定指向 浏览器的URL必须是原始Web 请求URL。

它只对.NET 3.5 SP1和.NET 4.0很重要。

编辑101:

对于redirectMode = “ResponseRewrite” 的ASP.NET调用使用Server.Execute(...)内,不与MVC路线的工作,所以对于MVC这只是一个工作静态HTML文件。

<customErrors mode="On" defaultRedirect="~/Views/Shared/error.htm" redirectMode="ResponseRewrite" /> 

的作品。

+1

OP代码示例与您的唯一区别在于,您的'default.edirect'属性的末尾有'.aspx',这在.NET MVC中不是必需的。 – 2010-09-20 17:52:55

+0

不知道。但为什么不在MVC中工作? – Stefanvds 2010-09-20 18:07:23

+0

http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx说明了redirectMode的功能。 – amurra 2010-09-20 19:51:42

0

您是否有路由/控制器操作设置来返回/Home/ErrorPage路由的错误页面?

+0

是的,我可以直接看到'http:// www.example.com/Home/ErrorPage',但该页面不是从customErrors调用的。 – royco 2010-09-20 18:05:00

+0

当您放入一个不会进入任何页面的网址时,您是否只会看到标准浏览器404? – amurra 2010-09-20 18:16:54

+0

是的,我只看到一个标准的404错误。我的理解是所有的错误都应该显示/ Home/ErrorPage。 – royco 2010-09-20 18:39:49

2

我在my blog上发布了我的全部内容(经过额外的研究)。

更新注:移动的链接特定于ASP.NET MVC


我坚信与404的问题是关系到WebResources和ScriptResources(可禁用asp.net后MVC btw),因为当没有找到相应的资源时(这可能是对有效填充的正常响应,会导致无效的资源路径/名称),那些可能会提供404。

其他错误代码&消息可能是其他asp.net功能的问题,但仅以404结尾,因为您打到与任何特殊处理程序无关的url都不应引起此问题。

还要注意什么,我在这个答案中提到: How serious is this new ASP.NET security vulnerability and how can I workaround it?

,如果应用程序是asp.net MVC我们并不真正需要webresources.axd和/或scriptresources.axd,所以这些可以被打开关闭。我们也不使用viewstate。

asp.net会员提供商在Cookie中缓存角色,将其关闭。

auth cookie是签名的,并且如果他们没有得到实际的密钥,他们就不应该能够生成签名的cookie(如他们在伪造auth cookie之前在视频中所做的那样) )。

正如Aristos所提到的,对于Cookie中的会话ID,这对用户会话来说是随机的,所以它必须从具有目标安全级别的用户中嗅探出来,并在该会话处于活动状态时破解。即使如此,如果您依赖于身份验证来分配/授权用户操作,那么影响会很小/这取决于应用程序中使用的Session的数量。

1
+0

根本没有提到ASP.NET MVC。 – bzlm 2010-10-29 16:03:32

+0

该漏洞在ASP.NET中; MVC只是因为ASP.NET是脆弱的。该补丁修复了根本问题。 – 2010-10-29 20:22:16

+0

是的,但这里有几个关于填充oracle的攻击的问题。这一个是关于它与ASP.NET MVC的特定相关性。 :) – bzlm 2010-10-30 11:44:23

相关问题