Skip to content

Diário de Bordo – Mateus Vieira

Disciplina: Gestão de Configuração e Evolução de Software

Equipe: OWASP (Time Red)

Comunidade/Projeto de Software Livre: OWASP (ej-application)


Sprint 1 – 10/09 até 23/09

Resumo da Sprint

Nesta sprint, o foco principal foi o aprofundamento em tópicos de segurança de aplicações web, conforme o plano de estudos definido. As atividades incluíram o estudo teórico e a prática em laboratórios focados em SQL Injection, Cross-Site Request Forgery (CSRF), Cross-Site Scripting (XSS) e Clickjacking.

Atividades Realizadas

Data Atividade Tipo (Código/Doc/Discussão/Outro) Link/Referência Status
12/09 Estudo teórico e prático sobre SQL Injection Estudo / Prática OWASP SQL Injection Concluído
15/09 Estudo teórico e prático sobre Cross-Site Scripting (XSS) e Clickjacking Estudo / Prática OWASP XSS
OWASP Clickjacking
Concluído
20/09 Estudo teórico e prático sobre Cross-Site Request Forgery (CSRF) Estudo / Prática OWASP CSRF Concluído
23/09 Relatório de Geral/Pessoal de GCES Docs Concluído

Maiores Avanços

O maior avanço foi o estudo aprofundado e a compreensão das vulnerabilidades de SQL Injection, CSRF, XSS e Clickjacking. Através da prática em laboratórios, foi possível consolidar o conhecimento teórico sobre como esses ataques funcionam e, mais importante, como eles podem ser explorados na prática.

Maiores Dificuldades

Não houve grandes dificuldades, o conteúdo foi bem assimilado.

Aprendizados

Os principais aprendizados desta sprint foram:

  • SQL Injection: Entendimento de como a entrada de dados não validada e a concatenação de strings em consultas SQL podem permitir que um atacante execute comandos arbitrários no banco de dados.

    • Exemplo: Um formulário de login vulnerável onde o atacante insere no campo de usuário admin' --. Se a aplicação não valida a entrada, a consulta pode se tornar SELECT * FROM users WHERE username = 'admin' --' AND password = 'senha_digitada'. O -- é um comentário em SQL, ignorando o resto da string e permitindo o login sem a senha.
    • Referência: OWASP SQL Injection
  • Cross-Site Scripting (XSS): O ataque consiste em injetar scripts maliciosos em páginas web visualizadas por outros usuários.

    • Exemplo: Em um campo de comentário de um blog, o atacante insere o código <script>alert('XSS Atacado!')</script>. Se a aplicação não "sanitiza" a entrada, o script será executado no navegador de qualquer usuário que visualizar o comentário.
    • Referência: OWASP XSS
  • Cross-Site Request Forgery (CSRF): Forçar o usuário final a executar ações indesejadas em uma aplicação web na qual ele está autenticado. O ataque se baseia na confiança do site no navegador do usuário.

    • Exemplo: Um atacante cria um site malicioso com o seguinte código em uma imagem oculta: <img src="https://banco.com/transfer?destino=atacante&valor=1000">. Se a vítima, logada no site do banco, visitar a página do atacante, seu navegador irá automaticamente tentar carregar a imagem, executando a transferência bancária sem o consentimento dela.
    • Referência: OWASP CSRF
  • Clickjacking: Consiste em enganar o usuário para que ele clique em algo que não pretendia, através de uma interface de usuário transparente ou oculta.

    • Exemplo: Um atacante cria um site com um botão "Ganhe um prêmio!". Por cima desse botão, ele sobrepõe uma página de um site de banco em que a vítima está autenticada, com um botão "Transferir R$ 1000". A página de banco é invisível, mas o atacante a posiciona exatamente sobre seu botão "Ganhe um prêmio!". Quando a vítima clica no botão visível, ela está na verdade clicando no botão invisível do banco, executando a transferência.
    • Referência: OWASP Clickjacking

Plano Pessoal para a Próxima Sprint

Na próxima sprint, o objetivo é aprofundar o aprendizado em segurança de aplicações web e aplicar o conhecimento adquirido. As atividades planejadas são:

  • Testar os seguintes ataques sobre a aplicação do EJ:
    • SQL Injection
    • XSS
    • CSRF
  • Estudar sobre:
    • Insecure Direct Object References (IDOR)
    • Estudar sobre sessões/cookies inseguros
    • Estudar sobre Brute force e rate limiting