Skip to main content

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.