Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Загальні відомості

Microsoft із безпеки оновлення MS11-100 обмежень максимальної кількості форми розділів, файли та JSON членів 1000 в запит HTTP. Через цю зміну у застосунки ASP.NET відхилення запитів, що мають більше 1000 ці елементи. HTTP клієнти, які такі запити, буде відмовлено, а також у веб-браузері відображається повідомлення про помилку. Повідомлення про помилку, як правило, мають код стану в HTTP 500. Нові обмеження можна налаштувати на основі окремих програм. Див. в розділі "Заходи усунення" вказівки.

Ознаки

ASP.NET запити, що є багато форм розділів, файлів або навантаження JSON, отримати відповідь про помилку на сервері. Журнал застосунку на сервері, має попередження про запис, з джерелом певної версії ASP.NET і Кодом події 1309. Журнал подій, містить одне з таких повідомлень:

Повідомлення 1:

Застосування інформації: застосування домену: / LM/W3SVC/1/КОРЕНЯ/< App домен > рівня в довірчих: віртуальний шлях середній-застосунків: < VDIR шлях > застосування шлях: ім'я < App шлях > машини: < Machine Name > процес інформації: Ідентифікатор процесу: 0001 ім'я для процесу: w3wp.exe обліковий запис: IIS APPPOOL\DefaultAppPool виняток інформація: тип винятку: повідомлення про виняток для HttpException: неправильний файл кодування даних. на System.Web.HttpRequest.FillInFormCollection (-) на (System.Web.HttpRequest.get_Form), в System.Web.HttpRequest.get_HasForm (), на System.Web.UI.Page.GetCollectionBasedOnMethod (логічний вираз dontReturnNull) на System.Web.UI.Page.DeterminePostBackMode (), на System.Web.UI.Page.ProcessRequestMain (логічний вираз includeStagesBeforeAsyncPoint, логічний вираз includeStagesAfterAsyncPoint)

Повідомлення 2:

Застосування інформації: застосування домену: / LM/W3SVC/1/КОРЕНЯ/< App домен > рівня в довірчих: віртуальний шлях середній-застосунків: < VDIR шлях > застосування шлях: ім'я < App шлях > машини: < Machine Name > процес інформації: Ідентифікатор процесу: 0001Process ім'я: w3wp.exe обліковий запис: IIS APPPOOL\DefaultAppPool виняток інформації: тип винятку: повідомлення про InvalidOperationException виняток: операція неприпустима через поточний стан об'єкта. на System.Web.HttpRequest.FillInFilesCollection (-) на (System.Web.HttpRequest.get_Files), в FileUpload.Page_Load (Object sender, EventArgs e) в System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp об'єкт o, об'єкт t, EventArgs e) на System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) в System.Web.UI.Control.OnLoad (EventArgs e) на (System.Web.UI.Control.LoadRecursive, в System.Web.UI.Page.ProcessRequestMain (логічне) includeStagesBeforeAsyncPoint

Повідомлення 3:

Застосування інформації: застосування домену: / LM/W3SVC/1/КОРЕНЯ/< App домен > рівня в довірчих: віртуальний шлях середній-застосунків: < VDIR шлях > застосування шлях: ім'я < App шлях > машини: < Machine Name > процес інформації: Ідентифікатор процесу: 0001Process ім'я: w3wp.exe обліковий запис: IIS APPPOOL\DefaultAppPool виняток інформації: тип винятку: повідомлення про InvalidOperationException виняток: операція неприпустима через поточний стан об'єкта. на System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary (Int32 глибина) в System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal (Int32 глибина) на System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize (рядок вводу, Int32 depthLimit, JavaScriptSerializer, засіб серіалізації) в System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer засіб серіалізації рядок вводу, введіть текст, Int32 depthLimit) в System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject (рядок вводу) в Failing.Page_Load (Object sender, EventArgs e) на System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp об'єкт o, об'єкт t, EventArgs e) в System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) в System.Web.UI.Control.OnLoad (EventArgs e) на System.Web.UI.Control.LoadRecursive (), на System.Web.UI.Page.ProcessRequestMain (логічний вираз includeStagesBeforeAsyncPoint, логічний вираз includeStagesAfterAsyncPoint)

Файл журналу IIS показує, запис матиме приблизно такого вигляду:

ПОВІДОМЛЕННЯ з 00:00:00:: 1 2011-01-01-/machine/default.aspx - 80 -:: 1 500 та 0 0 187

Причина

Microsoft security оновлення, що безпеки бюлетень безпеки MS11-100-адреси, зміни за промовчанням максимальну кількість форми розділів, файли та членів JSON, яке відповідає на запит до 1000 ASP.NET. Цю зміну було внесено для усунення вразливості відмова в обслуговуванні, що безпеки корпорації Майкрософт, Вісник MS11-100 документів.

Спосіб вирішення

Застосунки, які це обмеження для форми розділів або файлів, можна змінити ASP.NET appSetting aspnet:MaxHttpCollectionKeys, як показано нижче конфігураційний файл застосунку ASP.NET. Цей параметр, адреси помилки повідомлення 1 і помилки повідомлення 2 із розділу "проблеми" розділу.

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

Примітка. Якщо використовується ASP.NET 1.1 система на базі процесорів x86, параметр регулюється, додавши параметр DWORD такий розділ реєстру:

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

Якщо використовується ASP.NET 1.1 система на базі x64, параметр регулюється, додавши параметр DWORD такий розділ реєстру:

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

Застосунки, які потрапили обмеження для JSON навантаженнями, можна змінити ASP.NET appSetting aspnet:MaxJsonDeserializerMembers, як показано нижче конфігураційний файл застосунку ASP.NET. Цей параметр, адреси помилки 3 повідомлення "Симптоми" розділу.

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

Примітка. Збільшення значення вище збільшення настройки за промовчанням, чутливість до сервера, відмова в обслуговуванні вразливості, що описується в бюлетені з безпеки MS11-100.

Посилання

Щоб отримати додаткові відомості про бюлетені з безпеки MS11-100 див. в цій статті на сайті TechNet:

Microsoft Security бюлетень безпеки MS11-100 - критичнийЩоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:

2638420 MS11-100: Дефект у .NET Framework дозволяє несанкціоноване розширення прав: 29 грудня 2011 року.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×