2010-09-22 62 views
1

我仍然无法弄清以下哪些与Oracle填充安全问题有关。没有。一般来说,我想知道改变机器键的简单方法。没有。 2分与安全问题有关。Oracle填充安全相关查询

  1. 如果我更改机器密钥,那么我可以如何轻松更改存储在数据库中的用户密码。用户密码也使用相同的机器密钥加密。更改密钥将使密码失效。如果我错了,请纠正我。
  2. 在WebResource.axd的?d = ...,什么是储存在 'd' 参数的数据类型。它将如何允许下载任何任意文件。我只知道它可以允许嵌入式资源下载。但是,有人可以使用webresource.axd显示一个示例来下载web.config文件。大家都说可以下载web.config,但是我没有找到这样做的例子。

我会很高兴知道,如果有人可以用简单的例子回答。请不要将我指向ScotGu博客,在阅读他的博客和推荐之后,我不想再次访问他的博客,并且很惊讶他知道他是如何领导asp.net团队的。

+2

你为什么惊讶的是他领先ASP .NET团队?侮辱他与你的问题无关,而且这在SO上也不太合适。不管怎样,在他的博客链接指向的安全修补程序:http://weblogs.asp.net/scottgu/archive/2010/09/28/asp-net-security-update-now-available.aspx – Andy 2010-09-28 21:12:50

回答

1

我会尽力回答您的问题从什么I have learned有关问题为止。

  1. 在数据库用户口令并不与应用相关的机器密钥。默认情况下,ASP.NET工作进程会在每次重新启动应用程序时生成新的计算机密钥。
    (因此,如果DB密码是依赖于机器的关键,他们将成为每隔几天无效。)

  2. 关于下载Web.config,我们真的不知道。有些人认为它依赖于另一个安全漏洞。如果你使用MVC(或Web表单没有这些),它是最安全的,如果你禁用.axd请求。 (处理*.axdHttpForbiddenHandler

例如:

<httpHandlers> 
    ... 
    <remove verb="*" path="*.axd"/> 
    <add validate="false" verb="*" path="*.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
</httpHandlers> 

还是做同样的system.webServer节,如果你使用的是IIS 7

+0

哎呀禁用AXD对生产asp.net网站对大多数人通常不是一种选择,ScriptManager的,第三方控件都经常使用WebResource.axd的 – 2010-09-23 00:06:02

+0

@克里斯 - 正如我所说的,MVC不使用它,所以它是MVC页面的有效选项。 – Venemo 2010-09-23 00:10:53

+0

1.由于我在web.config中使用静态机器密钥,并且如果我将加密的密码存储在数据库中,Asp.net成员资格提供程序将使用该密钥来加密密码。因此,改变机器键并不像看起来那么容易。如果您使用自动生成的密钥,U无法加密密码。 – kumar 2010-09-23 13:48:37