Rezime

Microsoft bezbednost ažurirajte MS11-100 ograničenja maksimalan broj obrasca ključeve, datoteke i što su JSON članovi 1000 u HTTP zahtev. Zbog ovih promena, ASP.NET aplikacije odbiti pozive za više od 1000 od ovih elemenata. HTTP klijentima da biste napravili takve zahtjeve će biti odbijen i poruku o grešci će se pojaviti u web pregledaču. Poruka o grešci će obično imaju šifrom statusa HTTP 500. Ovo novo ograničenje može biti podešen na osnovu po aplikaciji. Pogledajte u odjeljku „Rješenja” za konfiguraciju uputstva.

Simptomi

ASP.NET pozive za puno ključeva obrasca, datoteke ili što su JSON tovar prijema je greška odgovor sa servera. Zapisnik za aplikacije na serveru ima upozorenje stavku sa izvora koji je određenu verziju tehnologije ASP.NET, a ID događaja 1309. U evidenciji događaja sadrži jednu od sledećih poruka:

Poruka 1:

Informacije o aplikaciji: aplikacija domena: / LM/W3SVC/1/ROOT/< aplikacija za domen > pouzdani nivo: srednja aplikacije virtualne putanje: < VDIR putanja > putanja aplikacije: ime < App putanja > mašine: < ime mašine > proces informacije: ID procesa: 0001 ime procesa: w3wp.exe naziv računa: IIS izuzetak APPPOOL\DefaultAppPool informacije: tip izuzetka: HttpException izuzetak poruka: podatke obrasca kodirane u The URL nije važeći. na (System.Web.HttpRequest.FillInFormCollection) u (System.Web.HttpRequest.get_Form) u (System.Web.HttpRequest.get_HasForm) u System.Web.UI.Page.GetCollectionBasedOnMethod (Boolean dontReturnNull) u (System.Web.UI.Page.DeterminePostBackMode) u System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Poruka 2:

Informacije o aplikaciji: aplikacija domena: / LM/W3SVC/1/ROOT/< aplikacija za domen > pouzdani nivo: srednja aplikacije virtualne putanje: < VDIR putanja > putanja aplikacije: ime < App putanja > mašine: < ime mašine > proces informacije: ID procesa: 0001Process ime: w3wp.exe naziv računa: IIS izuzetak APPPOOL\DefaultAppPool informacije: tip izuzetka: InvalidOperationException izuzetak poruka: operacija nije važeći zbog trenutnog stanja objekta. na (System.Web.HttpRequest.FillInFilesCollection) u (System.Web.HttpRequest.get_Files) u FileUpload.Page_Load (Object sender, EventArgs e) u System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp o objektu, objekat t, EventArgs e) u System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) u System.Web.UI.Control.OnLoad (EventArgs e) u (System.Web.UI.Control.LoadRecursive) u System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint

Poruka 3:

Aplikacija informacije: aplikacija domena: / LM/W3SVC/1/ROOT/< aplikacija za domen > pouzdani nivo: srednji aplikacije virtualne putanje: < VDIR putanja > putanja aplikacije: ime < App putanja > mašine: < ime mašine > proces informacije: ID procesa: 0001Process ime: w3wp.exe naziv računa: IIS izuzetak APPPOOL\DefaultAppPool informacije: tip izuzetka: InvalidOperationException izuzetak poruka: operacija nije važeći zbog trenutnog stanja objekta. u System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary (Int32 dubina) u System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal (Int32 dubina) u System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize ("niska za unos", "Int32 depthLimit", "JavaScriptSerializer serializer") u System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer. serializer za unos niske, tip tip, Int32 depthLimit) na System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject (niska input) u Failing.Page_Load (Object sender, EventArgs e) u System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp o objektu, objekat t, EventArgs e) u System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) u System.Web.UI.Control.OnLoad (EventArgs e) u (System.Web.UI.Control.LoadRecursive) u System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Datoteka za evidenciju IIS prikazuje stavke koja je slična sledećoj:

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

Uzrok

Microsoft security ažurirati da bezbednosni bilten MS11-100 adrese menja zadani maksimalni broj obrasca ključeve, datoteke i što su JSON članova koji ASP.NET će prihvatiti zahtev na 1000. Ova promena je napravljena da se pozabave Denial of Service ranjivost da metak u Microsoft security MS11-100 dokumenata.

Rešenje

Aplikacije koje dostignete ovo ograničenje obrasca ključeva ili datoteka možete da izmenite u ASP.NET appSetting aspnet:MaxHttpCollectionKeys, kao što je prikazano ispod u datoteci aplikacije ASP.NET konfiguracije. Ova postavka odnosi greška poruke 1 i greška poruka 2 od „Simptomi” sekcija.

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

Napomena Ako koristite ASP.NET 1.1 na sistemu zasnovanom na x86, postavka se koriguje dodavanjem DWORD vrijednost u sljedećem registarskom ključu:

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

Ako koristite ASP.NET 1.1 na sistemu zasnovanom na x64, postavka se koriguje dodavanjem DWORD vrijednost u sljedećem registarskom ključu:

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

Aplikacije koje je udario ovo ograničenje za što su JSON nosivost možete da izmenite u ASP.NET appSetting aspnet:MaxJsonDeserializerMembers, kao što je prikazano ispod u datoteci aplikacije ASP.NET konfiguracije. Ova postavka odnosi greška poruka 3 od „Simptomi” sekcija.

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

Napomena Povećanje ove vrednosti iznad povećanja podrazumevanu postavku podložnost vašeg servera da Denial of Service ranjivost opisanu u biltenu o sigurnosti MS11-100.

Reference

Za više informacija o bezbednosnom biltenu MS11-100, pogledajte sledeći članak TechNet:

Microsoft Security bilten MS11-100 - kritičan Za više informacija, kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:

2638420 MS11-100: Ranjivost u .NET Framework može dozvoliti podizanje privilegija: December 29, 2011

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom prevoda?

Šta je uticalo na vaše iskustvo?

Imate li dodatne povratne informacije? (Opcionalno)

Hvala vam na povratnim informacijama!

×