Povzetek
Microsoft varnostne posodobitve MS11-100 omejitev največje število obliki ključi, datoteke in JSON člani 1000 v HTTP zahtevo. Zaradi te spremembe, ASP.NET zahtevke zavrne zahteve, ki imajo več kot 1000 teh elementov. HTTP odjemalcem, da tovrstnih zahtev bo zavrnjen, in sporočilo o napaki prikaže v spletnem brskalniku. Sporočilo o napaki bo ponavadi imajo status kodo HTTP 500. Ta nova meja moči obstati oblikovati na podlagi posamezni program. Prosimo glejte razdelek »Rešitev« za konfiguracijo navodila.
Znaki
ASP.NET zahtevke, ki imajo veliko obliki ključi, datoteke ali tovora JSON prejeli napake odziva iz strežnika. Dnevnik aplikacije na strežniku je opozorilo vstop z vira , ki je posebno različico ASP.NET in Številko dogodka 1309. Dnevnik dogodkov vsebuje eno od naslednjih sporočil:
1. sporočilo:
Informacije o programu: področja uporabe: / LM/W3SVC/1/ROOT/< App domene > raven zaupanja: srednje uporabe navidezne poti: < VDIR pot > uporabi pot: < App pot > stroj ime: < ime računalnika > proces informacije: ID procesa: 0001 proces ime: w3wp.exe račun ime: IIS APPPOOL\DefaultAppPool izjema informacije: vrsta izjeme: sporočilo HttpException izjeme: URL-kodirana oblika podatkov ni veljavna. na (System.Web.HttpRequest.FillInFormCollection) v System.Web.HttpRequest.get_Form () na (System.Web.HttpRequest.get_HasForm) v System.Web.UI.Page.GetCollectionBasedOnMethod (logična vrednost dontReturnNull) na (System.Web.UI.Page.DeterminePostBackMode) v System.Web.UI.Page.ProcessRequestMain (logična vrednost includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Sporočilo 2:
Informacije o programu: področja uporabe: / LM/W3SVC/1/ROOT/< App domene > raven zaupanja: srednje uporabe navidezne poti: < VDIR pot > uporabi pot: < App pot > stroj ime: < ime računalnika > proces informacije: ID procesa: 0001Process ime: w3wp.exe račun ime: IIS APPPOOL\DefaultAppPool izjema informacije: vrsta izjeme: sporočilo InvalidOperationException izjeme: operacija ni veljavna zaradi trenutnega stanja predmeta. na (System.Web.HttpRequest.FillInFilesCollection) v (System.Web.HttpRequest.get_Files) v FileUpload.Page_Load (oddajnik, EventArgs črka e) v System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, o predmetu, predmet t, EventArgs črka e) v System.Web.Util.CalliEventHandlerDelegateProxy.Callback (oddajnik, EventArgs črka e) v System.Web.UI.Control.OnLoad (črka e) v (System.Web.UI.Control.LoadRecursive) v System.Web.UI.Page.ProcessRequestMain (logična vrednost includeStagesBeforeAsyncPoint
3. sporočilo:
Uporaba informacij: uporaba domene: / LM/W3SVC/1/ROOT/< App domene > raven zaupanja: srednje uporabe navidezne poti: < VDIR pot > uporabi pot: < App pot > stroj ime: < ime računalnika > proces informacije: ID procesa: 0001Process ime: w3wp.exe račun ime: IIS APPPOOL\DefaultAppPool izjema informacije: vrsta izjeme: sporočilo InvalidOperationException izjeme: operacija ni veljavna zaradi trenutnega stanja predmeta. v System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary (Int32 globine) v System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal (Int32 globino) na System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize (niz vhod, Int32 depthLimit, pretvornika JavaScriptSerializer) v System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer pretvornika, niz vnos, vrsta, Int32 depthLimit) v System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject (vhodni niz) na Failing.Page_Load (oddajnik, EventArgs črka e) v System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, o predmetu, predmet t, EventArgs črka e) v System.Web.Util.CalliEventHandlerDelegateProxy.Callback (oddajnik, EventArgs črka e) v System.Web.UI.Control.OnLoad (črka e) v (System.Web.UI.Control.LoadRecursive) v System.Web.UI.Page.ProcessRequestMain (logična vrednost includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
IIS dnevniške datoteke prikaže vnos, ki je podoben temu:
2011-01-01 00:00:00:: 1 POST /machine/default.aspx - 80 -:: 1 500 0 0 187
Vzrok
Microsoft varnostne posodobitve, da varnostni bilten MS11-100 naslovov spremeni privzeto največje število obliki ključi, datoteke in JSON članov, ki ASP.NET bo sprejel zahtevo za 1.000. Ta sprememba je bila narejena za reševanje zanikanje od usluga ranljivost, da Microsoftov varnostni bilten MS11-100 dokumentov.
Rešitev
Aplikacije, ki je dosegel to mejo obliki ključev ali datotek lahko spremenite ASP.NET appSetting aspnet:MaxHttpCollectionKeys, kot je prikazano spodaj v program ASP.net konfiguracijske datoteke. Ta nastavitev obravnava napake sporočilo 1 in napake sporočilo 2 "Simptomi" oddelku.
<configuration><appSettings><add key="aspnet:MaxHttpCollectionKeys" value="1000" /></appSettings></configuration>
Opomba Če uporabljate ASP.NET 1.1 v x86-osnova sistem, nastavitev se regulira z seštevanje a DWORD vrednost v sledeč registracija zakleniti:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys
Če uporabljate ASP.NET 1.1 v x64-osnova sistem, nastavitev se regulira z seštevanje a DWORD vrednost v sledeč registracija zakleniti:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys
Aplikacije, ki so prizadele to mejo JSON plačljiv tovor lahko spremenite ASP.NET appSetting aspnet:MaxJsonDeserializerMembers, kot je prikazano spodaj v program ASP.net konfiguracijske datoteke. Ta nastavitev obravnava napake sporočilo 3 od "Simptomi" oddelku.
<configuration><appSettings><add key="aspnet:MaxJsonDeserializerMembers" value="1000" /></appSettings></configuration>
Opomba Povečanje vrednosti zgoraj privzeto nastavitev povečuje dovzetnost strežniku za zanikanje od usluga ranljivost, ki je bila opisana v varnostnem biltenu MS11-100.
Reference
Če želite več informacij o varnostnem biltenu MS11-100, glejte naslednji članek zbirke TechNet:
Microsoftov varnostni bilten MS11-100 - kritičnoZa več informacij kliknite to številko članka za ogled člankov iz Microsoftove zbirke znanja:
2638420 MS11-100: Ranljivost v ogrodju .NET Framework lahko dopušča povišanje pravic: 29 December 2011