CSRF - Cross Site Request Forgery

O que é CSRF

Cross-Site Request Forgery (CSRF), ou falsificação de solicitação entre sites, é um tipo de ataque que força um usuário autenticado a executar ações indesejadas em uma aplicação web na qual está autenticado.

Mecanismos de Ataque

O CSRF explora a confiança que um site tem no navegador do usuário, fazendo com que este envie requisições não autorizadas sem o seu conhecimento.

Tipos de Ataques

GET

Em ataques CSRF utilizando o método GET, o invasor cria um link malicioso que, ao ser carregado pelo navegador da vítima, realiza uma ação indesejada na aplicação alvo.

POST via Formulário

No caso de ataques CSRF utilizando o método POST, o invasor cria um formulário HTML que, ao ser submetido pela vítima, envia dados maliciosos para a aplicação alvo.

Mitigação/Prevenção

Tokens Anti-CSRF

Uma das principais medidas de prevenção contra CSRF é a utilização de tokens anti-CSRF, que são valores secretos e únicos gerados pelo servidor e incluídos em formulários ou requisições.

SameSite Cookies

Atributos de cookie como SameSite podem ser configurados para restringir o envio de cookies em requisições cross-site, ajudando a prevenir ataques CSRF.

Verificação de Cabeçalhos HTTP

A verificação dos cabeçalhos Origin ou Referer nas requisições pode ser utilizada para assegurar que elas se originam de fontes confiáveis, auxiliando na prevenção de ataques CSRF.

Ferramentas

  • OWASP CSRFGuard: Uma biblioteca Java que implementa tokens anti-CSRF para proteger aplicações web contra ataques CSRF.

  • CsFire: Uma extensão para Firefox que mitiga o impacto de ataques CSRF removendo informações de autenticação de requisições cross-site.

Desafios CTF e Write-ups

Para aprofundar o entendimento sobre CSRF, é recomendável praticar com desafios de Capture The Flag (CTF). Abaixo, alguns desafios relacionados a CSRF e seus respectivos write-ups:

Considerações Adicionais

É importante destacar que ataques CSRF podem ser combinados com outras vulnerabilidades, como Cross-Site Scripting (XSS), para aumentar seu impacto. Além disso, usuários podem se proteger evitando clicar em links suspeitos e mantendo seus navegadores atualizados.

Referências

Autor

Membro de Networking - leandrobalta

Atualizado