Applies To.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

Kokkuvõte

Microsoft security update MS11-100 piirangud vormi võtmed, JSON liikmed ja failide maksimumarv 1000 HTTP-päring. Selle muudatuse tõttu ASP.net-i rakendused tagasi lükata taotlused, mis on rohkem kui 1000 nende elementide. HTTP klientidel, mis teevad sedalaadi taotlused on keelatud ja kuvatakse tõrketeade kuvatakse veebibrauseris. Tavaliselt on tõrketeate HTTP 500 olekukood. See uus piirang saab konfigureerida rakenduse kohta eraldi. Lugege jaotisest "Otsus" Täpsemad juhised.

Tunnused

ASP.net-i taotlus, mis on palju vormi võtmed, failide või JSON last saada server kliendile. Rakenduse logi server on hoiatus kirje Allikas konkreetse versiooni ASP.net-i ja sündmuse ID on 1309. Sündmuste logi sisaldab järgmiste näidetega:

1. teade:

Rakenduse andmed: taotlust Domeen: / LM/W3SVC/1/ROOT/< rakenduse domeeni > usalduse tase: keskmise rakenduse Virtual Path: < VDIR tee > tee: < rakendus tee > arvuti nimi: < arvutinimi > protsessi teabe: protsessi ID: 0001 nimi: w3wp.exe konto nimi: IIS-i APPPOOL\DefaultAppPool eranditeave: tüüp: HttpException erand sõnum: URL-kodeeritud andmed ei sobi. kell kell kell kell System.Web.UI.Page.GetCollectionBasedOnMethod (Boolean dontReturnNull) kell (System.Web.HttpRequest.get_HasForm) (System.Web.HttpRequest.get_Form) (System.Web.HttpRequest.FillInFormCollection) At System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) (System.Web.UI.Page.DeterminePostBackMode)

2. teade:

Rakenduse andmed: taotlust Domeen: / LM/W3SVC/1/ROOT/< rakenduse domeeni > usalduse tase: keskmise rakenduse Virtual Path: < VDIR tee > tee: < rakendus tee > arvuti nimi: < arvutinimi > protsessi teabe: protsessi ID: 0001Process nimi: w3wp.exe konto nimi: IIS-i APPPOOL\DefaultAppPool eranditeave: tüüp: InvalidOperationException erand sõnum: toimingut ei kehti tõttu objekti praegune olek. kell kell kell FileUpload.Page_Load (objekt saatja, EventArgs e) juures System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, objekti o, objekti t, EventArgs e) (System.Web.HttpRequest.get_Files) (System.Web.HttpRequest.FillInFilesCollection) System.Web.Util.CalliEventHandlerDelegateProxy.Callback (objekt saatja, EventArgs e) juures System.Web.UI.Control.OnLoad (EventArgs e) aadressil System.Web.UI.Control.LoadRecursive (at System.Web.UI.Page.ProcessRequestMain (Boolean) includeStagesBeforeAsyncPoint

3. teade:

Rakenduse andmed: taotlust Domeen: / LM/W3SVC/1/ROOT/< rakenduse domeeni > usalduse tase: keskmise rakenduse Virtual Path: < VDIR tee > tee: < rakendus tee > arvuti nimi: < arvutinimi > protsessi teabe: protsessi ID: 0001Process nimi: w3wp.exe konto nimi: IIS-i APPPOOL\DefaultAppPool eranditeave: tüüp: InvalidOperationException erand sõnum: toimingut ei kehti tõttu objekti praegune olek. at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary (Int32 sügavus) juures System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal (Int32 sügavus) juures System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize (String sisend, Int32 depthLimit, JavaScriptSerializer serializer) System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer serializer String sisend, tüüp tüüp, Int32 depthLimit) kell System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject (String sisend) kell kell Failing.Page_Load (objekt saatja, EventArgs e) System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, objekti o, objekti t, EventArgs e) System.Web.Util.CalliEventHandlerDelegateProxy.Callback (objekt saatja, EventArgs e) juures System.Web.UI.Control.OnLoad (EventArgs e) At System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) (System.Web.UI.Control.LoadRecursive)

IIS-i logifail näitab kirjet, mis sarnaneb järgmisega:

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

Põhjus

Microsoft security update turvalisuse turvabülletään MS11-100 aadresside muutub vaikimisi maksimumarv vormi võtmeid, faile ja JSON liikmeid, et ASP.net-i aktsepteerib taotluse 1000. See muudatus tehti Microsoft security turvabülletääni MS11-100 dokumentide Denial of Service haavatavuse.

Lahendus

Rakendused, mis jõuate selle piirini vormi võtmed või faile saate muuta ASP.net-i appSetting aspnet:MaxHttpCollectionKeysASP.net-i rakenduse konfiguratsioonifaili järgmiselt. See säte käsitleb tõrge sõnumi 1 ja tõrge sõnumi 2 "Sümptomid" jagu.

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

Märkus. Kui kasutate ASP.NET 1.1 x86-põhise süsteemi, korrigeeritakse sätte lisamisega järgmises registrivõtmes DWORD-väärtus:

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

Kui kasutate ASP.NET 1.1 x64-põhise süsteemi, korrigeeritakse sätte lisamisega järgmises registrivõtmes DWORD-väärtus:

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

Rakendusi, mis tabab JSON lasti limiidi saate muuta ASP.net-i appSetting aspnet:MaxJsonDeserializerMembers, nagu on näidatud alltoodud ASP.net-i rakenduse konfiguratsioonifail. See säte käsitleb tõrge sõnumi 3 "Sümptomid" jagu.

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

Märkus. Vaikimisi säte suurendab eespool väärtuse suurendamine tundlikkuse serveri Denial of Service haavatavust, mida on käsitletud turvabülletäänis MS11-100.

Viited

Turvabülletään MS11-100 kohta lisateabe saamiseks lugege järgmist TechNeti artiklit:

Microsofti turvabülletään MS11-100 - kriitiline Lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:

2638420 MS11-100: .NET Frameworki haavatavus võib lubada õiguste tõstmist: 29. detsembril 2011

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.