CSRF Generator

Este interceptor é usado para garantir a legitimidade da origem das requisições recebidas e para a prevenção de ataques CSRF.

Um ataque CSRF (Cross-Site Request Forgery) consiste em capturar o token de uma sessão ativa de um usuário para executar funções maliciosas na aplicação através do navegador da vítima. Ou seja, comandos maliciosos são enviados a partir de um navegador autenticado, no qual o website confia. A principal condição para que o ataque seja realizado com sucesso é que a vítima esteja autenticada na aplicação vulnerável e, em paralelo, acesse o site que contém o código malicioso. Geralmente, a vítima não consegue perceber a execução das funcionalidades na aplicação atacada.

A figura a seguir ilustra o funcionamento desse tipo de ataque:

csrf example pt

Para evitar ataques CSRF, deve-se adicionar o interceptor CSRF Generator no fluxo de resposta em operações que não sejam GET (ou seja, ele se aplica a operações para incluir ou modificar dados).

Ele funciona desta forma: quando uma requisição for feita a um determinado recurso configurado com o interceptor, será criado um token segundo as configurações definidas pelo usuário. Esse token deverá ser validado por um interceptor de CSRF Validation.

Caso o interceptor OAuth já esteja inserido no fluxo, não será necessário incluir os interceptores CSRF Generator/CSRF Validation para proteger contra ataques porque a funcionalidade de OAuth obriga a inclusão de um token na chamada.

O uso destes interceptores é recomendado em situações em que a API é aberta (sem autenticação de OAuth ou client ID).

Configurando o interceptor

Para configurar o interceptor, conforme a imagem abaixo, informe Location (especificando onde o token será passado — no header ou cookie, por exemplo), um nome único (Name), e o tempo de expiração do token, no campo Expires in (definido em segundos).

CSRF Generator
Thanks for your feedback!
EDIT
How useful was this article to you?