- Publicar em
Owasp Top 10: Guia Completo para Testes de Segurança em Aplicações Web
- Autor

- Nome
- Kevin Diego
Introdução ao Owasp Top 10
O Owasp Top 10 é uma lista de as dez principais vulnerabilidades de segurança em aplicações web, mantida pela Open Web Application Security Project (OWASP). Esta lista é amplamente reconhecida na indústria de segurança da informação e serve como um guia essencial para desenvolvedores, testadores de segurança e profissionais de TI.
A01:2021 – Broken Access Control
Acontece quando os controles de acesso não são implementados corretamente, permitindo que usuários não autorizados acessem recursos ou funcionalidades restritas. Exemplos incluem:
Accesso a URLs não autorizadas Modificação de IDs de objetos Elevação de privilégios de usuário
exemplo: Idoors - Uma aplicação web que permite que usuários comuns acessem áreas administrativas simplesmente alterando a URL. Modificação de permissões - Um usuário comum consegue modificar suas permissões para obter acesso a funcionalidades administrativas.
A02:2021 – Cryptographic Failures
Ocorre quando os mecanismos de criptografia são implementados incorretamente ou não são utilizados adequadamente, resultando em dados sensíveis expostos ou manipulados. Exemplos incluem:
Uso de algoritmos fracos de criptografia Armazenamento de senhas em texto plano Falta de proteção contra ataques man-in-the-middle
exemplo: Armazenamento inseguro de senhas - Uma aplicação armazena senhas de usuários em texto plano no banco de dados, tornando-as vulneráveis a ataques. Uso de SSL/TLS inadequado - Uma aplicação utiliza uma versão desatualizada do SSL/TLS, permitindo que atacantes interceptem comunicações sensíveis.
A03:2021 – Injection
Acontece quando dados não confiáveis são enviados para um interpretador como parte de um comando ou consulta, permitindo que um atacante execute comandos maliciosos.
Exemplos incluem: Injeção SQL Injeção de comandos do sistema operacional
exemplo: Injeção SQL - Um atacante consegue manipular uma consulta SQL para acessar dados confidenciais ou modificar o banco de dados. Injeção de comandos - Um atacante consegue executar comandos do sistema operacional através de uma vulnerabilidade de injeção em um formulário web. Cross-Site Scripting (XSS) - Um atacante injeta scripts maliciosos em páginas web visualizadas por outros usuários, permitindo roubo de cookies ou redirecionamento para sites maliciosos.
A04:2021 – Insecure Design
Acontece quando os requisitos de segurança não são considerados durante o design da aplicação, resultando em arquiteturas vulneráveis.
Exemplos incluem: Falta de validação de entrada Falta de autenticação e autorização adequadas
exemplo: Falta de validação de entrada
- Uma aplicação não valida corretamente os dados de entrada do usuário, permitindo ataques de injeção ou XSS.
- Falta de autenticação e autorização adequadas
- Uma aplicação não implementa controles de autenticação e autorização, permitindo que usuários não autorizados acessem recursos restritos.
- Sistemas que não validam numero de tentativas de login, permitindo ataques de força bruta.
A05:2021 – Security Misconfiguration
Acontece quando a configuração de segurança da aplicação está incorreta ou insegura, permitindo que atacantes explorem falhas de configuração. Exemplos incluem:
Configurações padrão inseguras Exposição de informações sensíveis
exemplo: Configurações padrão inseguras - Uma aplicação é implantada com configurações padrão que são conhecidas por atacantes, permitindo acesso não autorizado. Exposição de informações sensíveis - Uma aplicação expõe informações sensíveis, como mensagens de erro detalhadas, que podem ser exploradas por atacantes.
A06:2021 – Vulnerable and Outdated Components
Acontece quando a aplicação utiliza componentes (bibliotecas, frameworks, sistemas operacionais) desatualizados ou com vulnerabilidades conhecidas. Exemplos incluem:
Componentes desatualizados Vulnerabilidades conhecidas em bibliotecas
exemplo: Componentes desatualizados - Uma aplicação utiliza uma versão desatualizada de um framework web que contém vulnerabilidades conhecidas. Vulnerabilidades conhecidas em bibliotecas - Uma aplicação utiliza uma biblioteca que possui uma vulnerabilidade de segurança conhecida e não foi atualizada.
A07:2021 – Identification and Authentication Failures
Acontece quando os mecanismos de identificação e autenticação da aplicação estão implementados incorretamente ou são fracos, permitindo que atacantes explorem falhas de autenticação.
Exemplos incluem:
Mecanismos de autenticação fracos Falta de proteção contra ataques de força bruta
exemplo: Mecanismos de autenticação fracos
- Uma aplicação utiliza senhas fracas ou previsíveis, facilitando ataques de força bruta.
- Falta de proteção contra ataques de força bruta
- Uma aplicação não implementa mecanismos para limitar o número de tentativas de login, permitindo que atacantes realizem ataques de força bruta sem restrições.
A08:2021 – Software and Data Integrity Failures
Acontece quando a integridade do software e dos dados é comprometida, permitindo que atacantes modifiquem ou substituam componentes do sistema. Exemplos incluem: Falta de verificação de integridade
exemplo: Falta de verificação de integridade - Uma aplicação não verifica a integridade dos componentes do sistema, permitindo que atacantes substituam arquivos críticos por versões maliciosas.
A09:2021 – Security Logging and Monitoring Failures
Acontece quando os logs e monitoramentos de segurança da aplicação estão ausentes, incorretos ou insuficientes, impedindo a detecção e resposta a eventos de segurança.
Exemplos incluem: Falta de logs de segurança Monitoramento inadequado
exemplo: Falta de logs de segurança - Uma aplicação não registra eventos de segurança importantes, dificultando a detecção de ataques. Monitoramento inadequado - Uma aplicação não possui monitoramento adequado para detectar atividades suspeitas ou anômalas.
A10:2021 – Server-Side Request Forgery (SSRF)
Acontece quando a aplicação faz solicitações HTTP para recursos internos ou externos sem validação adequada, permitindo que atacantes manipulem essas solicitações.
Exemplos incluem: Solicitações para recursos internos Manipulação de URLs
exemplo: Solicitações para recursos internos - Uma aplicação permite que usuários façam solicitações para recursos internos da rede, expondo serviços sensíveis. Manipulação de URLs - Uma aplicação não valida corretamente as URLs fornecidas pelos usuários, permitindo que atacantes redirecionem solicitações para destinos maliciosos.
Conclusão
O Owasp Top 10 é uma ferramenta essencial para entender e mitigar as principais vulnerabilidades em aplicações web. Ao seguir as melhores práticas de segurança e realizar testes de segurança regulares, desenvolvedores e profissionais de TI podem proteger suas aplicações contra ameaças comuns e garantir a segurança dos dados dos usuários.