Vzťahuje sa na
.NET Framework 3.5 Service Pack 1 Windows 7 Service Pack 1 Windows 7 Enterprise Windows 7 Professional Windows 7 Ultimate Windows 7 Home Premium Windows 7 Home Basic Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Standard Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 Service Pack 2 Windows Server 2008 for Itanium-Based Systems Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Web Edition Windows Vista Service Pack 2 Windows Vista Business Windows Vista Enterprise Windows Vista Home Basic Windows Vista Home Premium Windows Vista Starter Windows Vista Ultimate Windows Vista Enterprise 64-bit Edition Windows Vista Home Basic 64-bit Edition Windows Vista Home Premium 64-bit Edition Windows Vista Ultimate 64-bit Edition Windows Vista Business 64-bit Edition Microsoft Windows Server 2003 Service Pack 2 Microsoft Windows XP Professional x64 Edition Microsoft Windows XP Service Pack 3 Microsoft Windows XP Home Edition Microsoft Windows XP Professional

Súhrnné informácie

Microsoft aktualizácie zabezpečenia MS11-100 limity maximálny počet členov JSON formuláre a súbory 1000 žiadosti HTTP. Z dôvodu tejto zmeny ASP.NET aplikácií odmietnuť žiadosti, ktoré majú viac než 1000 týchto prvkov. HTTP klientom, aby tieto druhy žiadostí bude odmietnutý a chybové hlásenie sa zobrazí vo webovom prehľadávači. Chybové hlásenie sa zvyčajne majú kód stavu protokolu HTTP 500. Tento nový limit môže byť nakonfigurovaný na základe jednej aplikácie. Konfigurácia pokyny sú uvedené v časti "Riešenie".

Príznaky

ASP.NET požiadavky, ktoré majú veľa forme kľúče, súbory alebo JSON údajová časť zobrazuje chyba odpoveď zo servera. Do denníka aplikácie na serveri má položku upozornenie zdroj , ktorý je konkrétnu verziu ASP.NET a identifikácia z 1309. Denník udalostí obsahuje jedno z nasledujúcich hlásení:

Správa č. 1:

Informácie o aplikácii: aplikácia domény: / LM/W3SVC 1/ROOT/< doméne > dôvera: Stredná virtuálna cesta: < VDIR cesta > cesta: < aplikácia cesta > názov: < názov zariadenia > informácie: proces ID: 0001 názov procesu: w3wp.exe konto: IIS APPPOOL\DefaultAppPool ďalšie informácie: typ: HttpException výnimkou správy: dáta zakódované URL formulára nie je platný. na (System.Web.HttpRequest.FillInFormCollection) v System.Web.HttpRequest.get_Form () na (System.Web.HttpRequest.get_HasForm) v System.Web.UI.Page.GetCollectionBasedOnMethod (Boolean dontReturnNull) v (System.Web.UI.Page.DeterminePostBackMode) v System.Web.UI.Page.ProcessRequestMain (logická includeStagesBeforeAsyncPoint, logická includeStagesAfterAsyncPoint)

Správa 2:

Informácie o aplikácii: aplikácia domény: / LM/W3SVC 1/ROOT/< doméne > dôvera: Stredná virtuálna cesta: < VDIR cesta > cesta: < aplikácia cesta > názov: < názov zariadenia > informácie: proces ID: 0001Process meno: w3wp.exe konto: IIS APPPOOL\DefaultAppPool ďalšie informácie: typ: InvalidOperationException výnimkou správy: operácia nie je platná pre aktuálny stav objektu. v System.Web.HttpRequest.FillInFilesCollection () na (System.Web.HttpRequest.get_Files) v FileUpload.Page_Load (Object sender, EventArgs e) v System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp objekt o t objekt, EventArgs e) na System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) v System.Web.UI.Control.OnLoad (EventArgs e) na (System.Web.UI.Control.LoadRecursive) v System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint

Správa 3:

Aplikácia informácie: aplikácia domény: / LM/W3SVC 1/ROOT/< doméne > dôvera: Stredná virtuálna cesta: < VDIR cesta > cesta: < aplikácia cesta > názov: < názov zariadenia > informácie: proces ID: 0001Process meno: w3wp.exe konto: IIS APPPOOL\DefaultAppPool ďalšie informácie: typ: InvalidOperationException výnimkou správy: operácia nie je platná pre aktuálny stav objektu. na System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary (Int32 hĺbka) na System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal (Int32 hĺbka) v System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize (String vstup, Int32 depthLimit, JavaScriptSerializer serializer) v System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer serializer vstupný reťazec typ, Int32 depthLimit) v System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject (String vstup) v Failing.Page_Load (Object sender, EventArgs e) na System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp objekt o t objekt, EventArgs e) v System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) v System.Web.UI.Control.OnLoad (EventArgs e) na (System.Web.UI.Control.LoadRecursive) v System.Web.UI.Page.ProcessRequestMain (logická includeStagesBeforeAsyncPoint, logická includeStagesAfterAsyncPoint)

Súbor denníka IIS zobrazuje položky podobné nasledovnému:

2011-01-01 00:00:00:: 1 POST /machine/default.aspx - 80 -:: 1 500 0 0 187

Príčina

Microsoft security update, security bulletin MS11-100 adries zmení predvolený maximálny počet formuláre a súbory JSON členov, ktorí ASP.NET prijme žiadosť o 1000. Táto zmena bola vykonaná na riešenie zraniteľnosť Denial of Service, že Microsoft security bulletin MS11-100 dokumentov.

Riešenie

Aplikácie, ktoré limit pre formuláre alebo súbory môžete upraviť ASP.NET appSetting aspnet:MaxHttpCollectionKeysuvedené nižšie v konfiguračnom súbore aplikácie ASP.NET. Toto nastavenie sa zaoberá chybové hlásenie 1 a chybové hlásenie 2 "Príznaky" sekcia.

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

Poznámka: Ak používate ASP.NET 1.1 v systéme x86, nastavuje pridať hodnotu DWORD nasledujúci kľúč databázy registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys

Ak používate ASP.NET 1.1 v systéme x64, nastavuje pridať hodnotu DWORD nasledujúci kľúč databázy registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys

Aplikácie, ktoré dosiahli tento limit JSON zaťaženie môžete upraviť ASP.NET appSetting aspnet:MaxJsonDeserializerMembersuvedené nižšie v konfiguračnom súbore aplikácie ASP.NET. Toto nastavenie sa zaoberá chybové hlásenie 3 "Príznaky" sekcia.

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

Poznámka: Zvýšenie tejto hodnoty nad predvolené nastavenie zvýšenia citlivosti servera na zraniteľnosť Denial of Service, ktorý je popísaný v bulletine MS11-100.

Odkazy

Ďalšie informácie o bulletine MS11-100, pozrite si článok TechNet:

Microsoft Security Bulletin MS11-100 - kritickéĎalšie informácie nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na príslušné číslo článku:

2638420 MS11-100: Nedostatočné zabezpečenie v .NET Framework môže umožniť eleváciu privilégií: 29. decembra 2011

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.