Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 285

Token CSRF

Revisado porCybersecurity entrepreneur & security researcher

O que é Token CSRF?

Token CSRFValor imprevisivel por sessao embutido em formularios ou cabecalhos para o servidor confirmar que pedidos que alteram estado vem das suas proprias paginas.


O token CSRF e a defesa canonica contra Cross-Site Request Forgery, o ataque classificado como A05 no OWASP Top 10 2013 e integrado em "Broken Access Control" nas edicoes posteriores. O servidor gera um valor criptograficamente aleatorio, associa-o a sessao do utilizador e inclui-o em formularios HTML ou disponibiliza-o para um header de pedido personalizado. Como a same-origin policy impede a pagina do atacante de ler o token, um pedido cross-site forjado nao consegue fornecer o valor correto e e rejeitado.

Predominam tres padroes. O synchronizer token pattern guarda o valor esperado no servidor — o mais robusto, mas com estado. Os double-submit cookies comparam um cookie com um campo de formulario ou header correspondente, sem necessitar de estado no servidor, mas ficam vulneraveis se um atacante conseguir escrever cookies via subdominio. O double-submit assinado (HMAC) associa o token a sessao para fechar essa lacuna. Os tokens devem ser por sessao (ou por pedido em acoes sensiveis), longos e comparados em tempo constante.

A defesa em profundidade importa: desde o Chrome 80 (fevereiro de 2020) os cookies sem marcacao assumem por omissao SameSite=Lax, o que bloqueia a maioria dos POSTs cross-site, mas o Lax continua a permitir navegacoes GET de nivel superior e nem todos os browsers o aplicam — pelo que os tokens continuam a ser necessarios. Combine-os com validacao de Origin/Referer e CORS estrito. As APIs com bearer token chamadas apenas a partir de JavaScript evitam cookies ambientais e geralmente nao precisam de token CSRF, mas continuam a exigir controlos anti-replay e de autorizacao.

flowchart TD
  A[Utilizador carrega formulario] --> B[Servidor emite token CSRF ligado a sessao]
  B --> C[Token em campo oculto / header personalizado]
  C --> D[Utilizador submete pedido que altera estado]
  D --> E{Token corresponde ao valor da sessao?}
  E -- Sim --> F[Processar pedido]
  E -- Nao / ausente --> G[Rejeitar 403 - pedido forjado]
  H[Formulario cross-site do atacante] -. nao consegue ler o token .-> G

Exemplos

  1. 01

    Campo <input type="hidden" name="csrf" value="a8f1..."> num formulario.

  2. 02

    Header X-CSRF-Token validado no servidor contra um segredo de sessao.

Perguntas frequentes

O que é Token CSRF?

Valor imprevisivel por sessao embutido em formularios ou cabecalhos para o servidor confirmar que pedidos que alteram estado vem das suas proprias paginas. Pertence à categoria Identidade e acesso da cibersegurança.

O que significa Token CSRF?

Valor imprevisivel por sessao embutido em formularios ou cabecalhos para o servidor confirmar que pedidos que alteram estado vem das suas proprias paginas.

Como se defender contra Token CSRF?

As defesas contra Token CSRF costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Termos relacionados