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