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

Vista: 7822|Resposta: 1

Prevenir ataques CSRF à propriedade SameSite do cookie

[Copiar link]
Postado em 2022-4-17 20:24:47 | | | |
Propriedade SameSite

A partir do Chrome 51, um novo atributo SameSite foi adicionado aos cookies do navegador para prevenir ataques CSRF e rastreamento de usuários (aquisição maliciosa de cookies por terceiros), além de limitar cookies de terceiros, reduzindo assim riscos de segurança.

SameSite definido no RFC6265bis:O login do hiperlink está visível.

Sobre o Resumo do Ataque CSRF:

ASP.NET Ataque CSRF Encapsulamento de requerimento Ajax
https://www.itsvse.com/thread-8077-1-1.html

MVC ajax com AntiForgeryToken para prevenir ataques CSRF
https://www.itsvse.com/thread-4207-1-1.html

Analise o Protocolo de Login Rápido QQ e implemente o "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
A propriedade SameSite pode ser definida para três valores:Strict、Lax、Nenhum

Estrito: Proíbe estritamente terceiros de obter cookies e não envia cookies sob nenhuma circunstância quando estiver em cross-site; Cookies só serão incluídos se a URL da página atual corresponder ao destino da solicitação. Essa regra é muito rígida e pode causar uma experiência muito ruim para o usuário. Por exemplo, se houver um link do GitHub na página atual, os usuários não terão cookies do GitHub ao clicarem no salto, e o salto sempre foi deslogado.

Frouxo: Prevenir o cross-site, na maioria dos casos é proibido obter cookies, exceto para solicitações GET (links, pré-carregamentos, formulários GET) que navegam até a URL de destino; Uma vez que Rígido ou Lax está definido, os ataques CSRF são basicamente eliminados. Claro, isso é garantido que o navegador de usuário suporte a propriedade SameSite.

Atributo SameSitePadrão SameSite=Lax[Esta operação se aplica às versões após o Google lançar a versão estável do Chrome 80 em 4 de fevereiro de 2019]



Nenhum: Não há limite.

O atributo Secure também deve ser definido (cookies só podem ser enviados pelo protocolo HTTPS), caso contrário, ele não será válido. [Esta operação se aplica às versões após o Google lançar a versão estável do Chrome 80 em 4 de fevereiro de 2019]


Teste a propriedade SameSite

Carregamos dinamicamente uma imagem do local A pelo console F12 no local A, o código é o seguinte:

Podemos ver pela solicitação da rede que, quando o site A solicita uma imagem do nome de domínio do site A, ele seráCarregue cookies(O SameSite não possui configurações, ou seja, Lax), como mostrado na imagem abaixo:



Encontramos aleatoriamente um local B e então carregamos dinamicamente a imagem do local A e encontramosNão está carregandoQualquer cookie, como mostrado abaixo:



(Fim)





Anterior:O jQuery hide não funciona duas soluções
Próximo:Elemento angular ngif visibilidade oculta é exibida e ocultada
Postado em 2022-4-17 21:20:07 |
Aprenda a aprender...
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