Post

Cross-Site Request Forgery

Cross-Site Request Forgery

O que é Cross-Site Request Forgery?

O cross-site request forgery se baseia no uso de engenharia social, onde o atacante usa o navegador da vitima para enviar requisições para outros sites. Com o ataque CSRF, o atacante consegue realizar ações em nome da vítima. Um exemplo é quando podemos transferir dinheiro em nome da vítima para outra conta. Esse ataque é feito quando a vítima já está autenticada, pois necessita de permissão para realizar transações ou ações que a conta possuí.

Como funciona um ataque CSRF?

O principal ponto do CSRF é realizar alterações no estado do sistema.

  1. Sessão ativa: Você acessa sua conta e recebe os cookies da aplicação.
  2. O Gatilho: Você recebe por e-mail um link e acaba clicando dele.
  3. O Redirecionamento: Você acessa novamente e vê que não tem mais a conta.

O link que você clica, direciona para um site onde o atacante tem total controle. O atacante fez o site para a partir do momento que você entrar, o navegado dispara a requisição para o site original, pois o seu navegador vê que a requisição é para o site legítimo e, automaticamente, anexa os cookies de sessão e, por fim, deletando sua conta.

Por que acontece?

O CRSF aproveita a fraqueza no processo de autenticação dos sites. Quando você acessa um site que requer um login para usa-lo, geralmente o site armazena um ID de sessão em um cookie de sessão para que não precise realizar o processo de login toda vez que você acessa o site.

Prevenção

  • Implementar métodos de autenticação mais seguros.
  • Utilizar Anti-CSRF, pois são tokens únicos que o servidor valida em cada requisição.
  • Nunca utilizar o método GET para alterar qualquer dado no backend.
  • Exigir 2FA (Autenticação de dois fatores).
  • Usar SameSite para criar restrições em cada cookie criado, para impedir que cookies sejam enviados em requisições vindas de outros sites.

Referências:

https://portswigger.net/web-security/csrf/preventing

https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#synchronizer-token-pattern

https://www.amazon.com.br/Bug-Bounty-Bootcamp-Reporting-Vulnerabilities/dp/1718501544

This post is licensed under CC BY 4.0 by the author.

Trending Tags