CSRF
Falsificação de solicitação entre sites
Erro relacionado
Este servidor é vulnerável a um ataque de falsificação de solicitação entre sites. Anexe cada solicitação com token CSRF ou atributo de cookie SameSite."
Problema
Uma falsificação de solicitação entre sites (CSRF) é um ataque que solicita que o usuário envie involuntariamente uma solicitação a um aplicativo da Web em relação ao qual ele é autenticado. Os ataques CSRF exploram a confiança que um aplicativo da web tem em um usuário autenticado.
Ataques CSRF são geralmente direcionados, usando engenharia social, como:
Email de phishing
Link de bate-papo
Alerta falso
Quando um usuário entra em um aplicativo Web, o invasor solicita que ele clique em uma URL contendo uma solicitação não autorizada para um aplicativo Web específico. O navegador do usuário então envia essa solicitação criada com códigos maliciosos para um aplicativo da Web direcionado, incluindo informações de sessão, como cookies de sessão ou credenciais armazenadas. Se o usuário estiver em uma sessão ativa com um aplicativo da web de destino, o aplicativo processará essa nova solicitação como uma solicitação iniciada pelo usuário autorizado. Consequentemente, permita que o invasor explore a vulnerabilidade CSRF do aplicativo da web.
O nível do ataque depende do nível de privilégios que a vítima possui. Um ataque CSRF não rouba diretamente a identidade do usuário, em vez disso, explora o usuário para realizar ações sem sua vontade.
Um ataque CSRF bem-sucedido força o usuário a realizar a solicitação de mudança de estado, como:
Mudança de senha
Mudança de endereço de e-mail
Modificar ou excluir registros
Transferência de fundos
Compras
Solução
Para evitar um ataque CSRF:
Use tokens CSRF para todas as solicitações de mudança de estado
Um token CSRF, também conhecido como token sincronizador ou token de desafio, é um valor exclusivo e secreto gerado no lado do cliente para cada sessão do usuário, tornando impossível hackear e enganar o usuário.
Use o atributo de cookie SameSite para cookies de sessão
Defina o atributo SameSite em cookies como uma camada extra de proteção junto com o token CSRF. O atributo SameSite permite que os cookies sejam enviados apenas se o cookie e a solicitação forem originados do mesmo domínio (e não de vários domínios).
Nota
Os navegadores mais antigos podem não suportar o cookie SameSite.