Skip to content
Latchkey

O Que É um Token CSRF? Bloqueando Requisições Forjadas

Um token CSRF é um valor imprevisível vinculado a uma sessão de usuário que prova que uma requisição que altera estado realmente originou-se da sua própria aplicação.

Um token CSRF defende contra cross-site request forgery, um ataque em que um site malicioso engana o browser de um usuário autenticado para fazer uma requisição indesejada a outro site. Como o browser envia cookies de sessão automaticamente, a requisição forjada parece autêntica. Um token CSRF quebra o ataque ao exigir um valor secreto que o atacante não pode conhecer.

O ataque que ele previne

Em um ataque CSRF, uma vítima autenticada em um site visita uma página maliciosa que silenciosamente envia uma requisição a esse site. O browser anexa o cookie de sessão, então a requisição parece legítima. Sem proteção, a ação é executada sob a identidade da vítima.

Como o token defende

  • O servidor incorpora um token secreto, por sessão, em seus próprios formulários.
  • Requisições legítimas incluem o token; o servidor o verifica.
  • Uma forjadura cross-site não consegue ler o token, então sua requisição é rejeitada.

Por que funciona

O atacante pode fazer o browser enviar uma requisição, mas não consegue ler a resposta do seu site, então não pode descobrir o token. Exigir esse token impossível de adivinhar em ações que alteram estado faz com que requisições forjadas falhem na validação.

Tokens CSRF e cookies SameSite

Defesas modernas combinam tokens CSRF com o atributo de cookie SameSite, que limita quando cookies são enviados cross-site. Juntos, eles fornecem proteção em camadas; depender de apenas um pode deixar brechas dependendo do browser e do cenário.

Proteção CSRF em CI/CD

Se você constrói aplicações web, a proteção CSRF em endpoints que alteram estado faz parte da codificação segura. Testes e revisões de segurança no seu pipeline devem confirmar que formulários e métodos inseguros exigem um token válido antes de a mudança chegar à produção.

Escopo da defesa

Tokens CSRF protegem fluxos baseados em browser autenticados por cookie. APIs autenticadas por bearer token (o padrão que pipelines usam) geralmente não são vulneráveis a CSRF, porque não dependem de cookies enviados automaticamente.

Principais conclusões

  • Um token CSRF é um valor impossível de adivinhar que prova que uma requisição veio da sua própria aplicação.
  • Ele bloqueia cross-site request forgery em ações que alteram estado autenticadas por cookie.
  • Combine-o com cookies SameSite; APIs com bearer token geralmente não são suscetíveis a CSRF.

Guias relacionados