Falsificação de solicitação entre sites (CSRF) é um método de ataque baseado na web que explora vulnerabilidades em applications da web. O termo CSRF também pode se referir diretamente à vulnerabilidade em si.
Quando um application da web tem uma vulnerabilidade CSRF, os invasores podem enganar usuários legítimos, fazendo-os invocar ações não intencionais no site vulnerável sem o consentimento explícito dos usuários. Os impactos potenciais incluem operações não autorizadas, como modificação de dados do usuário, exclusão ou alteração acidental de dados, execução de transações fraudulentas ou início de ações não autorizadas no application visado.
Um ataque CSRF típico ocorre da seguinte maneira:
Para mitigar ataques CSRF, os applications devem validar a legitimidade das solicitações POST recebidas. Uma abordagem amplamente adotada é a implementação de tokens conhecidos como valores "nonce" ("número usado uma vez"). Um nonce é um identificador exclusivo, gerado aleatoriamente, incorporado em formulários HTTP legítimos em resposta a solicitações do usuário. Ao receber envios POST subsequentes, o application 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, o application 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) fornecidas pelo F5 BIG-IP Application Security Manager são altamente eficazes na identificação e bloqueio de solicitações maliciosas para evitar que vulnerabilidades de CSRF sejam exploradas.