Sammendrag

Microsoft-sikkerhetsoppdatering MS11-100 begrenser maksimalt antall skjemaet nøkler, filer og JSON medlemmer til 1000 i en HTTP-forespørsel. Denne endringen avvise ASP.NET-programmer forespørsler som har mer enn 1000 av disse elementene. HTTP-klienter som kan utføre slike forespørsler vil bli nektet, og en feilmelding vises i web-leseren. Feilmeldingen har vanligvis en HTTP 500-statuskode. Denne nye grensen kan konfigureres på basis per program. Se delen "Løsning" for konfigurasjonsinstruksjoner.

Symptomer

ASP.NET-forespørsler som har mange nøkler for skjemaet, filer eller JSON nyttelast får feilsvar fra serveren. Programloggen på serveren har en advarsel post med en kilde som en bestemt versjon av ASP.NET og 1309 hendelses-IDen. Hendelsesloggen inneholder én av følgende meldinger:

Melding 1:

Programinformasjon: programdomene: / LM/W3SVC/1/ROOT/< programdomenet > klareringsnivået: Middels programmet virtuell bane: < VDIR bane > programbanen: < App-bane > maskinnavn: < maskinnavn > prosessinformasjon: prosess-ID: 0001 prosessnavnet: w3wp.exe-kontonavn: IIS APPPOOL\DefaultAppPool unntaksinformasjon: Unntakstype: HttpException Unntaksmelding: The URL-kodede skjemadataene er ikke gyldig. på System.Web.HttpRequest.FillInFormCollection () på System.Web.HttpRequest.get_Form () på System.Web.HttpRequest.get_HasForm () på System.Web.UI.Page.GetCollectionBasedOnMethod (boolsk dontReturnNull) på System.Web.UI.Page.DeterminePostBackMode () på System.Web.UI.Page.ProcessRequestMain (boolsk includeStagesBeforeAsyncPoint, boolske includeStagesAfterAsyncPoint)

Melding 2:

Programinformasjon: programdomene: / LM/W3SVC/1/ROOT/< programdomenet > klareringsnivået: Middels programmet virtuell bane: < VDIR bane > programbanen: < App-bane > maskinnavn: < maskinnavn > prosessinformasjon: prosess-ID: 0001Process navn: w3wp.exe-kontonavn: IIS APPPOOL\DefaultAppPool unntaksinformasjon: Unntakstype: InvalidOperationException Unntaksmelding: operasjonen er ikke gyldig på grunn av gjeldende status for objektet. på System.Web.HttpRequest.FillInFilesCollection () på System.Web.HttpRequest.get_Files () ved FileUpload.Page_Load (Object sender, EventArgs kan e) ved System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, o objekt, objekt-t, EventArgs kan e) på System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs kan e) ved System.Web.UI.Control.OnLoad (EventArgs kan e) ved System.Web.UI.Control.LoadRecursive () på System.Web.UI.Page.ProcessRequestMain (boolsk verdi includeStagesBeforeAsyncPoint

Melding 3:

Informasjon: programmet programdomene: / LM/W3SVC/1/ROOT/< programdomenet > klareringsnivået: Middels programmet virtuell bane: < VDIR bane > programbanen: < App-bane > maskinnavn: < maskinnavn > prosessinformasjon: prosess-ID: 0001Process navn: w3wp.exe-kontonavn: IIS APPPOOL\DefaultAppPool unntaksinformasjon: Unntakstype: InvalidOperationException Unntaksmelding: operasjonen er ikke gyldig på grunn av gjeldende status for objektet. på System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary (Int32 dybde) ved System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal (Int32 dybde) på System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize (inndata i streng, Int32 depthLimit, JavaScriptSerializer-serialisering) ved System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer Serialiseringen inndata i streng, type som, Int32 depthLimit) ved System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject (inndata i streng) ved Failing.Page_Load (Object sender, EventArgs kan e) på System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, o objekt, objekt-t, EventArgs kan e) ved System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs kan e) ved System.Web.UI.Control.OnLoad (EventArgs kan e) på System.Web.UI.Control.LoadRecursive () på System.Web.UI.Page.ProcessRequestMain (boolsk includeStagesBeforeAsyncPoint, boolske includeStagesAfterAsyncPoint)

IIS-loggfilen viser en oppføring som ligner på følgende:

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

Årsak

Microsoft sikkerhetsoppdateringen at sikkerhet sikkerhetsbulletin MS11-100 adresser endrer standard maksimalt antall skjemaet nøkler, filer og JSON-medlemmer som godtar ASP.NET i en forespørsel til 1 000. Denne endringen ble gjort for å løse problemet med Denial of Service sikkerhetsproblemet at Microsoft sikkerhetsbulletin MS11-100-dokumenter.

Løsning

Programmer som når denne grensen for skjemaet nøkler eller filer kan endre ASP.NET appSetting aspnet:MaxHttpCollectionKeys, som vist nedenfor i konfigurasjonsfilen for et ASP.NET-program. Denne innstillingen gjelder feil melding 1 og feil melding 2 fra "Symptomer"-delen.

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

Obs! Hvis du bruker ASP.NET 1.1 i et x86-basert system, justeres innstillingen ved å legge til en DWORD-verdi i følgende registernøkkel:

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

Hvis du bruker ASP.NET 1.1 i et x64-basert system, justeres innstillingen ved å legge til en DWORD-verdi i følgende registernøkkel:

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

Programmer som nådde denne grensen for JSON payloaden kan endre ASP.NET appSetting aspnet:MaxJsonDeserializerMembers, som vist nedenfor i konfigurasjonsfilen for et ASP.NET-program. Denne innstillingen gjelder feil melding 3 fra Symptomer-delen.

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

Obs! Øke denne verdien over standard innstillingen øker susceptibility på serveren til Denial of Service-sikkerhetsproblemet som er drøftet i sikkerhetsbulletin MS11-100.

Referanser

Hvis du vil ha mer informasjon om sikkerhetsbulletin MS11-100, kan du se følgende TechNet-artikkel:

Microsofts sikkerhetsbulletin MS11-100 - kritiskHvis du vil ha mer informasjon, kan du lese følgende artikkel i Microsoft Knowledge Base:

2638420 MS11-100: Sikkerhetsproblem i .NET Framework kan tillate heving av tilgangsnivå: 29 desember 2011

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med kvaliteten på oversettelsen?

Hva påvirket opplevelsen din?

Har du ytterligere tilbakemeldinger? (valgfritt)

Takk for tilbakemeldingen!

×