2010-09-20 84 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

相關問題