Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 3317|Resposta: 2

[Fonte] ASP.NET Solicita o MVC para Validação de Conteúdo Perigoso XSS (ValidateInput)

[Copiar link]
Publicado em 08/07/2023 22:05:07 | | | |
Requisitos: Extrair o código-fonte em ASP.NET MVC para validar dados potencialmente perigosos no formulário de solicitação. Simplificando, ele verifica se os dados solicitados possuem conteúdo de cross-site scripting (XSS),XSS é bloqueado por padrão no MVC

Scripting cross-site (XSS) é uma vulnerabilidade de segurança que pode ser encontrada em algumas aplicações web. Ataques XSS permitem que atacantes injetem scripts do lado do cliente em páginas web visualizadas por outros usuários. Atacantes poderiam explorar vulnerabilidades de scripting cross-site para burlar controles de acesso, como políticas de mesma origem.

ValidateInput: Lança validação das coleções acessadas via as propriedades Cookies, Form e QueryString. seHttpRequestA classe usa a flag de validação de entrada para rastrear se a validação é realizada em uma coleção de solicitações que acessam a QueryString através da propriedade Cookies.

public void ValidateInput() {
            Não faz sentido ligar para isso várias vezes por pedido.
            Além disso, se a validação foi suprimida, não operaria agora.
            se (ValidateInputWasCalled || RequestValidationSuppressed) {
                retornar;
            }

            _Sinalizadores. Set(hasValidateInputBeenCalled);

            Isso é para prevenir alguns ataques XSS (cross site scripting) (ASURT 122278)
            _Sinalizadores. Set(needToValidateQueryString);
            _Sinalizadores. Set(necessidadeDeValidaçãoForma);
            _Sinalizadores. Set(needToValidateCookies);
            _Sinalizadores. Set(needToValidatePostedFiles);
            _Sinalizadores. Set(needToValidateRawUrl);
            _Sinalizadores. Set(necessidadeDeValidarCaminho);
            _Sinalizadores. Set(necessidadeValidaInformaçãoCaminho);
            _Sinalizadores. Set(needToValidateHeaders);
        }

Documentação:O login do hiperlink está visível.

Valide dados potencialmente perigosos:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, como mostrado na figura abaixo:



Endereço do código-fonte:

O login do hiperlink está visível.
O login do hiperlink está visível.

Copie o código-fonte para o seu projeto e teste da seguinte forma:



Fonte:


Se você realmente quiser receber conteúdo perigoso, pode usar o Request.Unvalidated.Form

(Fim)




Anterior:ASP.NET MVC obtém todos os endereços da interface por reflexão
Próximo:.NET/C# usa o SqlConnectionStringBuilder para comparar conexões de banco de dados
 Senhorio| Publicado em 08/07/2023 22:06:32 |
Classe AllowHtmlAttribute: Permite que solicitações incluam marcação HTML durante a vinculação do modelo pulando a validação de requisições para atributos. (Recomenda-se fortemente que as aplicações verifiquem explicitamente todos os modelos que desativam a validação de requisições para evitar ataques de scripting.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Senhorio| Publicado em 08/07/2023 22:06:49 |
As tags anti-falsificação ValidateAntiForgeryToken e AutoValidateAntiforgeryToken são explicadas em detalhes
https://www.itsvse.com/thread-9568-1-1.html
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com