[ASP.NET] MS11-100安全性更新引發的異常

  • 3750
  • 0

[ASP.NET] MS11-100安全性更新引發的異常

在去年底(2011)微軟發佈了一個安全性的重大更新『Microsoft Security Bulletin MS11-100

,此重大更新是為修復ASP.NET一個重大資安弱點,該資安弱點詳情可參考scottgu的blog

,而就在最近卻遇上出現這樣的異常訊息:『物件目前的狀態,導致作業無效』,異常畫面

如下:

 

image

 

追查之下才發現MS11-100安全性的更新會做下列的設定調整

 

Microsoft 安全性更新 MS11-100 會將 HTTP 要求中的表單金鑰、檔案和 JSON 裝載成員的最大

數量限制為 1000。因為此變更的緣故,ASP.NET 應用程式會拒絕具有超過 1000 個上述元素的要求。

發出上述種類要求的 HTTP 用戶端會遭到拒絕,而網頁瀏覽器中會出現錯誤訊息。錯誤訊息通常內含

HTTP 500 狀態碼。你可以每個應用程式為單位個別為其建立新限制。如需設定指示,請參閱<解決

方式>一節。』(引自:http://support.microsoft.com/kb/2661403)

 

image

 

因此當Request的成員數量例如欄位等,超出1000時,就會引發上面的異常,雖然大部份情況下可能不

太會有如此龐大的Request,但有時很難去預防使用者可能會發出這樣的Request或是真的需要這樣的需

求,因此若是有必要的話可以借由調整web.config的設定將數值依需求做調整,來讓程式運作正常,當

然若非必要也就不用去調整,畢竟會把預設限制為1000就是因安全性上的考量才做調整的。

 

<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="1000" />
</appSettings>

 

 

 

參考資訊:

(1)http://support.microsoft.com/kb/2661403

(2)http://technet.microsoft.com/zh-tw/security/bulletin/ms11-100

(3)http://technet.microsoft.com/en-us/security/advisory/2659883

 

 

 

 

 

 

 

若本文對您有所幫助,歡迎轉貼,但請在加註【轉貼】及來源出處,並在附上本篇的超連結,感恩您的配合囉。

By No.18