Para proteger seu aplicativo ASP.NET contra ataques de injeção, execute as seguintes etapas:
Etapa 1. Usar a validação de solicitação do ASP.NET
Por padrão, a validação de solicitação das versões 1.1 e 2.0 do ASP.NET detecta qualquer elemento HTML e caracteres reservados em dados postados no servidor. Isso ajuda a evitar que usuários insiram scripts em seu aplicativo. A validação de solicitação verifica todos os dados de entrada em relação a uma lista embutida em código de valores potencialmente perigosos. Se houver uma correspondência, ela emitirá uma exceção do tipo HttpRequestValidationException.
É possível desabilitar a validação de solicitação no arquivo de configuração do aplicativo, Web.config, adicionando um elemento
Se for necessário desabilitar a validação de solicitação, desabilite-a apenas na página afetada. Um exemplo disso é quando você tem uma página com um campo de texto de formato livre que aceita entradas formatadas em HTML.
Confirme se a validação de solicitação do ASP.NET está habilitada no Machine.config
Por padrão, a validação de solicitação é habilitada pelo ASP.NET. É possível ver a seguinte configuração padrão no arquivo Machine.config.comments.
Confirme se a validação de solicitação não foi desabilitada, substituindo as configurações padrão no arquivo Machine.config do servidor ou no arquivo Web.config do aplicativo.
Teste a validação de solicitação do ASP.NET
É possível testar os efeitos da validação de solicitação. Para isso, crie uma página do ASP.NET que desabilite a validação de solicitação, configurando ValidateRequest="false" da seguinte maneira.<%@ Language="C#" ValidateRequest="false" %>
(%@ Page ValidateRequest="false" language="c#" Debug="true" Codebehind="cadvideos.pas" AutoEventWireup="false" Inherits="cadvideos.Tcadvideos" %)
Quando você executa a página, "Hello" é exibido em uma caixa de mensagem porque o script em txtString é transmitido e processado como um script do lado do cliente no navegador.
Se você configurar ValidateRequest="true" ou remover o atributo da página ValidateRequest, a validação de solicitação do ASP.NET rejeitará a entrada do script e produzirá um erro.
Se você configurar ValidateRequest="true" ou remover o atributo da página ValidateRequest, a validação de solicitação do ASP.NET rejeitará a entrada do script e produzirá um erro.
Até o Próximo.

Nenhum comentário:
Postar um comentário