2010-09-20 112 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 ...