Teď jste offline a čekáte, až se znova připojí internet.

Požadavek ASP.NET, který obsahuje mnoho klíčů formulářů, souborů nebo členů datové části JSON, se nezdaří s výjimkou

Podpora Windows XP byla ukončena.

Společnost Microsoft ukončila dne 8. dubna 2014 podporu Windows XP. Tato změna ovlivnila aktualizace softwaru a možnosti zabezpečení. Další informace o tom, co to pro vás znamená a jak zajistit ochranu.

Podpora pro Windows Server 2003 byla ukončena 14. července 2015

Společnost Microsoft ukončila podporu pro Windows Server 2003 dne 14. července 2015. Tato změna ovlivnila aktualizace softwaru a možnosti zabezpečení. Další informace o tom, co to pro vás znamená a jak zajistit ochranu.

Souhrn
Aktualizace zabezpečení společnosti Microsoft MS11-100 omezuje maximální počet klíčů formulářů, souborů a členů JSON v požadavku HTTP na 1000. Na základě této změny aplikace ASP.NET odmítají požadavky, které mají více než 1000 těchto elementů. Klienti HTTP, kteří zadávají takové požadavky, budou odmítnuti a ve webovém prohlížeči se zobrazí chybová zpráva. Tato chybová zpráva má obvykle stavový kód HTTP 500. Tento nový limit lze konfigurovat pro jednotlivé aplikace. Pokyny ke konfiguraci najdete v části Řešení.


Příznaky
Požadavek ASP.NET, který obsahuje mnoho klíčů formulářů, souborů nebo členů datové části JSON, obdrží od serveru chybovou odpověď. Protokol aplikací na serveru obsahuje položku upozornění se zdrojem, který je určitou verzí rozhraní ASP.NET, a identifikátorem události 1309. Protokol událostí obsahuje jednu z následujících zpráv: 


Zpráva 1:
Informace o aplikaci:
Doména aplikace: /LM/W3SVC/1/ROOT/<Doména aplikace>
Úroveň důvěryhodnosti: Střední
Virtuální cesta aplikace: <Cesta VDIR>
Cesta aplikace: <Cesta aplikace>
Název počítače: <Název počítače>
Informace o procesu:
ID procesu: 0001
Název procesu: w3wp.exe
Název účtu: IIS APPPOOL\DefaultAppPool

Informace o výjimce:
Typ výjimky: HttpException
Zpráva o výjimce: Data formuláře kódovaná v řetězci URL nejsou platná.
v System.Web.HttpRequest.FillInFormCollection()
v System.Web.HttpRequest.get_Form()
v System.Web.HttpRequest.get_HasForm()
v System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
v System.Web.UI.Page.DeterminePostBackMode()
v System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 


Zpráva 2:
Informace o aplikaci:
Doména aplikace: /LM/W3SVC/1/ROOT/<Doména aplikace>
Úroveň důvěryhodnosti: Střední
Virtuální cesta aplikace: <Cesta VDIR>
Cesta aplikace: <Cesta aplikace>
Název počítače: <Název počítače>

Informace o procesu:
ID procesu: 0001
Název procesu: w3wp.exe
Název účtu: IIS APPPOOL\DefaultAppPool

Informace o výjimce:
Typ výjimky: InvalidOperationException
Zpráva o výjimce: Operace není platná z důvodu aktuálního stavu objektu.
v System.Web.HttpRequest.FillInFilesCollection()
v System.Web.HttpRequest.get_Files()
v FileUpload.Page_Load(Object sender, EventArgs e)
v System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
v System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
v System.Web.UI.Control.OnLoad(EventArgs e)
v System.Web.UI.Control.LoadRecursive()
v System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint

Zpráva 3:
Informace o aplikaci:
Doména aplikace: /LM/W3SVC/1/ROOT/<Doména aplikace>
Úroveň důvěryhodnosti: Střední
Virtuální cesta aplikace: <Cesta VDIR>
Cesta aplikace: <Cesta aplikace>
Název počítače: <Název počítače>

Informace o procesu:
ID procesu: 0001
Název procesu: w3wp.exe
Název účtu: IIS APPPOOL\DefaultAppPool

Informace o výjimce:
Typ výjimky: InvalidOperationException
Zpráva o výjimce: Operace není platná z důvodu aktuálního stavu objektu.
v System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary(Int32 depth)
v System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)
v System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)
v System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
v System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject(String input)
v Failing.Page_Load(Object sender, EventArgs e)
v System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
v System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
v System.Web.UI.Control.OnLoad(EventArgs e)
v System.Web.UI.Control.LoadRecursive()
v System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 


Soubor protokolu IIS obsahuje položku podobnou následující položce:
2011-01-01 00:00:00 ::1 POST /machine/default.aspx - 80 - ::1 - 500 0 0 187




Příčina
Aktualizace zabezpečení společnosti Microsoft, na kterou je zaměřen bulletin MS11-100, mění výchozí maximální počet klíčů formulářů, souborů a členů JSON v požadavku, které rozhraní ASP.NET přijímá, na 1000. Tato změna byla provedena, aby se zabránilo chybě umožňující odepření služby, která je dokumentována v bulletinu zabezpečení společnosti Microsoft MS11-100.


Řešení
Aplikace, které dosáhnou tohoto limitu pro klíče formulářů nebo soubory, mohou upravit nastavení rozhraní ASP.NET appSetting aspnet:MaxHttpCollectionKeys v konfiguračním souboru aplikace ASP.NET, jak je uvedeno dále. Toto nastavení je určeno pro případy chybové zprávy 1 a chybové zprávy 2 z části Příznaky. 
<configuration><appSettings><add key="aspnet:MaxHttpCollectionKeys" value="1000" /></appSettings></configuration>


Poznámka: Používáte-li rozhraní ASP.NET 1.1 v systému pro platformu x86, nastavení je upraveno přidáním hodnoty DWORD do následujícího klíče registru:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys
Používáte-li rozhraní ASP.NET 1.1 v systému pro platformu x64, nastavení je upraveno přidáním hodnoty DWORD do následujícího klíče registru:

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



Aplikace, které dosáhnou tohoto limitu pro datové části JSON, mohou upravit nastavení rozhraní ASP.NET appSetting aspnet:MaxJsonDeserializerMembers v konfiguračním souboru aplikace ASP.NET, jak je uvedeno dále. Toto nastavení je určeno pro případy chybové zprávy 3 z části Příznaky.
<configuration><appSettings><add key="aspnet:MaxJsonDeserializerMembers" value="1000" /></appSettings></configuration>



Poznámka: Zvýšení této hodnoty nad výchozí nastavení zvyšuje náchylnost serveru k chybě umožňující odepření služby, která je probírána v bulletinu zabezpečení MS11-100.


Odkazy
Další informace o bulletinu zabezpečení MS11-100 naleznete v následujícím článku na webu TechNet: Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2638420 MS11-100: Chyba zabezpečení rozhraní .NET Framework by mohla umožnit zvýšení oprávnění: 29. prosince 2011
Vlastnosti

ID článku: 2661403 - Poslední kontrola: 11/29/2012 14:32:00 - Revize: 4.0

Microsoft .NET Framework 4.0, Microsoft .NET Framework 3.5 Service Pack 1, Microsoft .NET Framework 3.5, Microsoft .NET Framework 2.0 Service Pack 2, Microsoft .NET Framework 2.0 Service Pack 1 (x86), Microsoft .NET Framework 2.0, Microsoft .NET Framework 1.1 Service Pack 1, Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.0 Service Pack 3, Microsoft .NET Framework 1.0, 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, Aktualizace SP2 pro Windows Vista, Microsoft Windows Server 2003 Service Pack 2, Microsoft Windows XP Service Pack 3

  • atdownload kbbug kbexpertiseinter kbfix kbsecbulletin kbsecurity kbsecvulnerability KB2661403
Váš názor
ody>body>