Select the product you need help with
Una richiesta ASP.NET contenente molte chiavi del modulo modulo, file o membri di payload JSON non riesce con un'eccezioneIdentificativo articolo: 2661403 - Visualizza i prodotti a cui si riferisce l?articolo. SommarioL'aggiornamento della sicurezza Microsoft MS11-100 limita il numero massimo di chiavi del modulo, file e membri JSON a 1000 in una richiesta HTTP. A causa di questa modifica, le applicazioni ASP.NET rifiutano le richieste con più di 1000 elementi di questo tipo. Verranno rifiutati i client HTTP che effettuano questi tipi di richieste e verrà visualizzato un messaggio di errore nel browser Web. Il messaggio di errore conterrà un codice di stato 500 HTTP. È possibile che questo nuovo limite venga configurato in base all'applicazione. Per istruzioni relative alla configurazione, vedere la sezione "Risoluzione". SintomiPer le richieste ASP.NET con molte chiavi del modulo, file oppure payload JSON viene visualizzata una risposta di errore dal server. Il registro applicazioni sul server dispone di un Avviso con un'Origine che rappresenta una versione specifica di ASP.NET e un ID evento di 1309. Il registro eventi contiene uno dei seguenti messaggi: Messaggio 1: Informazioni dell'applicazione: Dominio dell'applicazione: /LM/W3SVC/1/ROOT/<App Domain> Livello di attendibilità: Medio Percorso virtuale dell'applicazione: <Percorso VDIR> Percorso dell'applicazione: <Percorso app> Nome computer: <Nome computer> Informazioni sul processo: ID processo: 0001 Nome processo: w3wp.exe Nome account: IIS APPPOOL\DefaultAppPool Informazioni sull'eccezione: Tipo di eccezione: HttpException Messaggio eccezione: I dati del modulo con codifica URL non sono validi. in System.Web.HttpRequest.FillInFormCollection() in System.Web.HttpRequest.get_Form() in System.Web.HttpRequest.get_HasForm() in System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) in System.Web.UI.Page.DeterminePostBackMode() in System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) Messaggio 2: Informazioni dell'applicazione: Dominio dell'applicazione: /LM/W3SVC/1/ROOT/<App Domain> Livello di attendibilità: Medio Percorso virtuale dell'applicazione: <Percorso VDIR> Percorso dell'applicazione: <Percorso app> Nome computer: <Nome computer> Informazioni sul processo: ID processo: 0001 Nome processo: w3wp.exe Nome account: IIS APPPOOL\DefaultAppPool Informazioni sull'eccezione: Tipo di eccezione: InvalidOperationException Messaggio eccezione: Operazione non valida a causa dello stato corrente dell'oggetto. in System.Web.HttpRequest.FillInFilesCollection() in System.Web.HttpRequest.get_Files() in FileUpload.Page_Load(Object sender, EventArgs e) in System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) in System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) in System.Web.UI.Control.OnLoad(EventArgs e) in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint Messaggio 3: Informazioni dell'applicazione: Dominio dell'applicazione: /LM/W3SVC/1/ROOT/<App Domain> Livello di attendibilità: Medio Percorso virtuale dell'applicazione: <Percorso VDIR> Percorso dell'applicazione: <Percorso app> Nome computer: <Nome computer> Informazioni sul processo: ID processo: 0001 Nome processo: w3wp.exe Nome account: IIS APPPOOL\DefaultAppPool Informazioni sull'eccezione: Tipo di eccezione: InvalidOperationException Messaggio eccezione: Operazione non valida a causa dello stato corrente dell'oggetto. in System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeDictionary(Int32 depth) in System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) in System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer) in System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit) in System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject(String input) in Failing.Page_Load(Object sender, EventArgs e) in System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) in System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) in System.Web.UI.Control.OnLoad(EventArgs e) in System.Web.UI.Control.LoadRecursive() in System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) Il file di registro IIS visualizza una voce simile alla seguente: 2011-01-01 00:00:00 ::1 POST /machine/default.aspx - 80 - ::1 - 500 0 0 187 CauseL'aggiornamento della sicurezza Microsoft relativo al Bollettino Microsoft sulla sicurezza MS11-100 modifica il numero massimo predefinito di chiavi del modulo, file e membri JSON che ASP.NET accetterà in una richiesta a 1.000. Questa modifica è stata introdotta per risolvere il problema di vulnerabilità Denial of Service documentato nel Bollettino Microsoft sulla sicurezza MS11-100. RisoluzioneLe applicazioni che raggiungono questo limite per le chiavi del modulo o per i file possono modificare l'impostazione dell'applicazione (appSetting) ASP.NET aspnet:MaxHttpCollectionKeys, come mostrato in un file di configurazione dell'applicazione ASP.NET. Questa impostazione risolve il messaggio di errore 1 e 2 dalla sezione "Sintomi". Nota Se si utilizza ASP.NET 1.1 in un sistema basato su x86, l'impostazione viene modificata aggiungendo un valore DWORD alla seguente chiave del Registro di sistema: Le applicazioni che riscontrano questo limite per i payload JSON possono modificare l'impostazione dell'applicazione (appSetting) ASP.NET aspnet:MaxJsonDeserializerMembers, come mostrato in un file di configurazione dell'applicazione ASP.NET. Questa impostazione risolve il messaggio di errore 3 dalla sezione "Sintomi". Nota L'aumento di questo valore al di sopra dell'impostazione predefinita, aumenta la sensibilità del server relativa al problema di vulnerabilità Denial of Service illustrato nel Bollettino Microsoft sulla sicurezza MS11-100. RiferimentiPer ulteriori informazioni sul Bollettino Microsoft sulla sicurezza MS11-100, vedere il seguente articolo TechNet: Bollettino Microsoft sulla sicurezza MS11-100 - Critico Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
(http://technet.microsoft.com/it-it/security/bulletin/ms11-100)
2638420
(http://support.microsoft.com/kb/2638420/it/
)
MS11-100: Possibile elevazione dei privilegi a causa di vulnerabilità in .NET Framework: 29 dicembre 2011ProprietàIdentificativo articolo: 2661403 - Ultima modifica: giovedì 29 novembre 2012 - Revisione: 4.0 Le informazioni in questo articolo si applicano a:
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Traduzione articoli
|


Torna all'inizio








