Cross-Site Request Forgery (CSRF) é um método de ataque baseado na web que explora vulnerabilidades em aplicações web. O termo CSRF também pode se referir diretamente à própria vulnerabilidade.

Quando uma aplicação web apresenta uma vulnerabilidade de CSRF, invasores podem induzir usuários legítimos a executar ações não intencionais no site vulnerável sem o consentimento explícito deles. Os possíveis impactos incluem operações não autorizadas, como modificar dados de usuários, excluir ou alterar dados acidentalmente, realizar transações fraudulentas ou iniciar ações não autorizadas na aplicação visada.

Um ataque CSRF típico ocorre da seguinte maneira:

  1. O invasor induz os usuários de um aplicativo visado a acessar uma página maliciosa criada especificamente para o ataque.
  2. Assim que a vítima acessa essa página maliciosa, o invasor dispara solicitações POST não autorizadas para o aplicativo vulnerável (em certos casos, o simples acesso à página pode acionar a solicitação maliciosa sem qualquer outra interação do usuário).
  3. O aplicativo alvo processa a solicitação POST não autorizada, executando ações não intencionais em nome do usuário autenticado.

Para mitigar ataques de CSRF, as aplicações devem validar a legitimidade das solicitações POST recebidas. Uma abordagem amplamente adotada é implementar tokens conhecidos como valores "nonce" ("número usado uma única vez"). Um nonce é um identificador exclusivo, gerado aleatoriamente e incorporado a formulários HTTP legítimos em resposta às solicitações dos usuários. Ao receber envios POST subsequentes, a aplicação verifica o nonce para confirmar a autenticidade e a integridade da solicitação.

Ao enviar formulários em resposta a solicitações GET legítimas, o servidor inclui um valor nonce exclusivo e imprevisível. Ao receber a solicitação POST correspondente do cliente, a aplicação verifica o nonce para confirmar a autenticidade e a legitimidade da solicitação.

Além disso, soluções de segurança, como Web Application Firewalls (WAFs) fornecidos pelo F5 BIG-IP Application Security Manager são altamente eficazes na identificação e no bloqueio de solicitações maliciosas, impedindo a exploração de vulnerabilidades de CSRF.