Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Zusammenfassung

Das Microsoft-Sicherheitsupdate MS11-100 begrenzt die Höchstanzahl der Formularschlüssel, Dateien und JSON-Mitglieder in einer HTTP-Anforderung auf 1.000. Diese Änderung wird ASP.NET-Anwendungen Zurückweisungsanforderungen, die mehr als 1.000 dieser Elemente aufweisen. HTTP-Clients mit derartigen Anforderungen werden abgelehnt, und im Webbrowser wird eine Fehlermeldung angezeigt. Die Fehlermeldung hat in der Regel einen HTTP 500-Statuscode. Diese neue Grenze kann auf pro Anwendung konfiguriert werden. Anleitungen zur Konfiguration finden Sie in Abschnitt "Auflösung".


Problembeschreibung

ASP.NET-Anforderungen, die viele Formularschlüssel, Dateien oder eine hohe JSON-Nutzlast haben, empfangen eine Fehlerantwort vom Server. Das Anwendungsprotokoll auf dem Server enthält einen Warnungseintrag mit einer Quelle, bei der es sich um eine spezifische Version von ASP.NET handelt, und die Ereignis-ID "1309". Das Ereignisprotokoll enthält eine der folgenden Meldungen: 


Meldung 1:

Informationen zur Anwendung:
Anwendungsdomäne: /LM/W3SVC/1/ROOT/<App-Domäne>
Vertrauensstufe: Mittel
Virtueller Anwendungspfad: <VDIR-Pfad>
Anwendungspfad: <App-Pfad>
Computername: <Computername>
Prozessinformationen:
Prozess-ID: 0001
Prozessname: w3wp.exe
Kontoname: IIS-APPPOOL\DefaultAppPool

Ausnahmeinformationen:
Ausnahmetyp: HttpException
Ausnahmemeldung: Ungültige URL-codierte Formulardaten.
Bei System.Web.HttpRequest.FillInFormCollection()
Bei System.Web.HttpRequest.get_Form()
Bei System.Web.HttpRequest.get_HasForm()
Bei System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
Bei System.Web.UI.Page.DeterminePostBackMode()
Bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 


Meldung 2:

Informationen zur Anwendung:
Anwendungsdomäne: /LM/W3SVC/1/ROOT/<App-Domäne>
Vertrauensstufe: Mittel
Virtueller Anwendungspfad: <VDIR-Pfad>
Anwendungspfad: <App-Pfad>
Computername: <Computername>

Prozessinformationen:
Prozess-ID: 0001
Prozessname: w3wp.exe
Kontoname: IIS-APPPOOL\DefaultAppPool

Ausnahmeinformationen:
Ausnahmetyp: InvalidOperationException
Ausnahmemeldung: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.
Bei System.Web.HttpRequest.FillInFilesCollection()
Bei System.Web.HttpRequest.get_Files()
Bei FileUpload.Page_Load(Object sender, EventArgs e)
Bei System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
Bei System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
Bei System.Web.UI.Control.OnLoad(EventArgs e)
Bei System.Web.UI.Control.LoadRecursive()
Bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint


Meldung 3:

Informationen zur Anwendung:
Anwendungsdomäne: /LM/W3SVC/1/ROOT/<App-Domäne>
Vertrauensstufe: Mittel
Virtueller Anwendungspfad: <VDIR-Pfad>
Anwendungspfad: <App-Pfad>
Computername: <Computername>

Prozessinformationen:
Prozess-ID: 0001
Prozessname: w3wp.exe
Kontoname: IIS-APPPOOL\DefaultAppPool

Ausnahmeinformationen:
Ausnahmetyp: InvalidOperationException
Ausnahmemeldung: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.
Bei System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary(Int32 depth)
Bei System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)
Bei System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)
Bei System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
Bei System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject(String input)
Bei Failing.Page_Load(Object sender, EventArgs e)
Bei System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
Bei System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
Bei System.Web.UI.Control.OnLoad(EventArgs e)
Bei System.Web.UI.Control.LoadRecursive()
Bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)



Die IIS-Protokolldatei enthält einen Eintrag etwa folgenden Inhalts:

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




Ursache

Das Microsoft-Sicherheitsupdate, das im Sicherheitsbulletin MS11-100 beschrieben ist, ändert die standardmäßige Höchstanzahl der Formularschlüssel, Dateien und JSON-Mitglieder, die ASP.NET akzeptiert, in 1.000. Diese Änderung wurde vorgenommen, um das im Microsoft-Sicherheitsbulletin dokumentierte DoS-Sicherheitsrisiko (DoS = Denial of Service) zu adressieren.


Lösung

Anwendungen, die dieses Limit für Formularschlüssel oder Dateien errreichen, können die ASP.NET-AppSetting aspnet:MaxHttpCollectionKeys ändern, wie im Folgenden in einer Konfigurationsdatei einer ASP.NET-Anwendung dargestellt. Diese Einstellung befasst sich mit Fehlermeldung 1 und Fehlermeldung 2 im Abschnitt "Problembeschreibung".

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



Hinweis Wenn Sie ASP.NET 1.1 auf einem x86-basierten System verwenden, wird die Einstellung durch Hinzufügen eines DWORD-Werts zum folgenden Registrierungsschlüssel angepasst:

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

Wenn Sie ASP.NET 1.1 auf einem x64-basierten System verwenden, wird die Einstellung durch Hinzufügen eines DWORD-Werts zum folgenden Registrierungsschlüssel angepasst:

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




Anwendungen, die dieses Limit für JSON-Nutzlasten erreichen, können die ASP.NET-AppSetting aspnet:MaxJsonDeserializerMembers ändern, wie im Folgenden in einer Konfigurationsdatei einer ASP.NET-Anwendung dargestellt. Diese Einstellung befasst sich mit der Fehlermeldung 3 in Abschnitt "Problembeschreibung".

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




Hinweis Durch Erhöhen dieses Werts über die Standardeinstellung wird die Anfälligkeit des Servers für DoS-Angriffe erhöht, die in Sicherheitsbulletin MS11-100 beschrieben ist.


Informationsquellen

Weitere Informationen zum Sicherheitsbulletin MS11-100 finden Sie im folgenden TechNet-Artikel:

Microsoft-Sicherheitsbulletin MS11-100 – Kritisch Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2638420 MS11-100: Sicherheitsrisiko im .NET Framework kann eine Erhöhung von Berechtigungen ermöglichen: 29. Dezember 2011

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×