2010-09-20 116 views

回答

1

ResponseRedirect给人以攻击者的拿地给重定向头时候的信息。

ResponseRewrite没有返回重定向头,所以攻击者不知道这次。

攻击者可以使用这个延迟时间来寻找什么样的错误,因此Scott给出了一个带有随机延迟的error.aspx页面示例。如果你不使用ResponceRewrite,那么这个延迟是毫无意义的。

为什么只有3.5 SP1及以上,因为没有以前version.s

+0

+1我只补充一点,ResponseRewrite存在是** **也容易受到攻击的时间,而是由OP粘贴的链接提示添加默认延迟以防止计时攻击。有了ResponseRedirect,就没有简单的方法来防止计时攻击。 – 2010-09-20 15:05:25

+0

难道你不能只是把随机睡眠内的global.asax Application_Error事件?然后你不放弃任何时间信息,因此不需要ResponseRewrite。 – 2010-09-20 22:18:05

+0

@Aaron我不知道回答,因为我需要先测试它。也许是的,但斯科特给出了一个简单的方法来防止这种攻击。这不是你需要做的唯一保护自己的想法。 – Aristos 2010-09-21 06:44:51

0

为什么只有3.5 SP1及以上?因为在此之前该属性不存在。

设置属性会更改错误页面呈现的方式。默认值(ResponseRedirect)会导致服务器发出重定向到错误页面。建议的值ResponseRewrite会导致回复被写回,而不是所请求的内容 - 无需将用户重定向到不同的Uri。至少,这是我的理解。

该属性的MSDN文档here ...