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

Vista: 32621|Resposta: 2

[Vulnerabilidade de Segurança] Vulnerabilidades ausentes ou inseguras no cabeçalho "Política de Segurança de Conteúdo"

[Copiar link]
Publicado em 11/06/2021 10:36:39 | | | |
O cabeçalho de resposta HTTP Content-Security-Policy permite que o site controle quais recursos o agente de usuário carrega para uma determinada página. Exceto em casos especiais, o conjunto de políticas envolve principalmente especificar os pontos finais de origem e script do servidor. Isso ajudará a impedir ataques de scripting cross-site

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

Este artigo descreve a Política de Segurança de Conteúdo do W3C, ou CSP para abreviar. Como o nome sugere, essa especificação está relacionada à segurança de conteúdo e é usada principalmente para definir quais recursos uma página pode carregar e reduzir a ocorrência do XSS.

O Chrome inicial suportava CSP via cabeçalho de resposta X-WebKit-CSP, enquanto Firefox e IE suportavam X-Content-Security-Policy, e Chrome25 e Firefox23 começaram a suportar a política padrão Content-Security-Policy.

Informações sensíveis sobre aplicações web, como nomes de usuário, senhas, nomes de máquinas e/ou localizações sensíveis de arquivos, podem ser coletadas
Usuários iniciantes podem ser persuadidos a fornecer informações sensíveis, como nomes de usuário, senhas, números de cartão de crédito, números de seguridade social, etc


Primeiro, vamos criar um novo projeto ASP.NET MVC, criar um novo script js e carregar dinamicamente o código js das estatísticas do Baidu, da seguinte forma:




Como mostrado na figura acima, podemos ver o código do script JS que foi introduzido com sucesso em um terceiro (Baidu), se houver algum código malicioso no JS de terceiros, como roubo de cookies, modificação de conteúdo, troca de links, etc.

Como posso impedir a introdução de scripts JS de terceiros inseguros?

Solução alternativa

Cabeça de respostaAdicionar "Política de Segurança-Conteúdo"por exemplo:

Content-Security-Policy: default-src 'self' O login do hiperlink está visível.;
                         connect-src 'nenhum';
Content-Security-Policy: connect-src O login do hiperlink está visível.
                         script-srcO login do hiperlink está visível.

Diretiva
Exemplo de valor de instrução
ilustrar
Default-SRC
'eu' cnd.a.com
Defina a política padrão de carregamento para todos os tipos de recursos (JS, IMAGEM, CSS, WEB FONT, requisições AJAX, iframes, multimídia, etc.) e use o padrão para certos tipos de recursos se não houver uma política definida separada.
script-src
'eu' js.a.com
Defina uma política de carregamento para JavaScript.
style-src
'eu' css.a.com
Defina uma política de carregamento para um estilo.
IMG-SRC
'eu' img.a.com
Defina uma política de carregamento para imagens.
connect-src
'eu'
Carregando políticas para requisições de Ajax, WebSockets, etc. Se não for permitido, o navegador simula uma resposta com status 400.
font-src
font.a.com
Política de carregamento para WebFont.
object-src
'eu'
<object><embed> <applet> Políticas de carregamento para plugins como flash introduzidas para tags como , ou .
media-src
media.a.com
<audio> <video> Estratégias de carregamento para multimídia HTML introduzidas para tags como ou .
frame-src
'eu'
Política de carregamento para frames.
Sandbox
formas permitidas
Ative sandbox (semelhante à propriedade sandbox de um iframe) para o recurso solicitado.
Reporte-URI
/report-uri
Informe ao navegador para qual endereço enviar as informações do log caso o recurso solicitado não seja permitido pela política. Especial: Se você quiser que o navegador reporte apenas logs e não bloqueie nada, pode usar o cabeçalho Content-Security-Policy-Report-Only em vez disso.

Vamos modificar o arquivo web.config do projeto para adicionar um cabeçalho de resposta personalizado da seguinte forma:

Reexecute o projeto conforme mostrado abaixo:



O navegador bloqueou com sucesso o carregamento de scripts js de terceiros:

Recusaram-se a carregar o script 'https://hm.baidu.com/hm.js?6dbaac17dfeb2840b5b09d2dff6d2319' porque ele viola a seguinte diretriz de Política de Segurança de Conteúdo: "script-src 'self' http://localhost:56888/ ". Note que 'script-src-elem' não foi explicitamente definido, então 'script-src' é usado como plano B.
(Fim)




Anterior:ASP.NET Ordem de execução do MVC HttpApplication
Próximo:Para resumir a popular enciclopédia User-Agent do navegador
Publicado em 17/12/2021 22:38:43 |
Aprenda !!!!!!!!!!!!!!
Publicado em 18/10/2022 17:16:34 |
Tenho procurado há muito tempo e aprendi um pouco
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