Skip to content

Diário de Bordo – [Henrique Hida]

Disciplina: Gerência de Configuração e Evolução de Software - T01 Equipe: OWASP/Red Team
Comunidade/Projeto de Software Livre: OWASP/ej-application


Sprint 1 | 25/09/2025 — 07/10/2025

Visão Geral

Estudo e testes Ataque sobre CSRF

O que é CSRF (Cross-Site Request Forgery)

CSRF é uma técnica de ataque em que um site malicioso faz com que o navegador de uma vítima autenticada envie requisições indesejadas a um site confiável onde a vítima já possui sessão ativa. O atacante explora o fato de que cookies e outras credenciais gerenciadas automaticamente pelo navegador são incluídas em requisições originadas do contexto do usuário.

Cenário de teste descrito

  1. Testar via página HTML separada — Criar um arquivo HTML que tenta enviar um POST para http://localhost:8000/api/v1/votes/ a partir do mesmo navegador onde está logado como admin. Ao submeter a requisição pelo HTML, o servidor respondeu com 401 Unauthorized e o JSON {"detail": "Credenciais de autenticação não foram fornecidas."}.

Atividades realizadas

Data Atividade Tipo Referência Situação
02/10 Estudo aprofundado sobre os CSRF Estudo - Concluído
06/10 Aplicação e documentação do ataque Outro - Concluído

Principais resultados e aprendizados

  • O comportamento indica que o endpoint exige um header Authorization: Bearer <token> para autenticação, ou outro esquema que não é enviado automaticamente pelo navegador quando a requisição é iniciada de outro site.
  • Quando a requisição foi disparada a partir do HTML externo, o navegador não enviou qualquer credencial (nem cookie de sessão nem header Authorization), logo o servidor respondeu 401.
  • Isso implica que o mecanismo de autenticação atual não é baseado em cookies de sessão enviados automaticamente. Como resultado, o vetor clássico de CSRF (quando o atacante depende dos cookies automáticos do navegador) falhou.

Dificuldades

Tive dificuldades para indentificar e entender alguns endpoints.


Plano para a próxima sprint

[ ] Rodar testes mais profundos de CSRF e testar falsos positivos.


Consideração final

Aprendi como funciona e como se proteger de ataques CSRF.