kb.erickguedes.com
OWASP: Segurança Web na Prática

OWASP Top 10 — Visão Geral

Aula 1 de 6

OWASP Top 10 — 2021

A classificação de 2021 introduziu mudanças significativas, incluindo a fusão de categorias e a adição de novas classes de risco.

A01:2021 — Broken Access Control

Falhas de controle de acesso permitem que usuários ajam fora de suas permissões pretendidas.

  • IDOR (Insecure Direct Object References)
  • Path traversal
  • Privilege escalation (vertical e horizontal)
  • CORS misconfiguration
  • Force browsing

A02:2021 — Cryptographic Failures

Proteção inadequada de dados sensíveis em trânsito ou em repouso.

  • Dados não criptografados
  • Algoritmos fracos (MD5, SHA1, RC4)
  • Certificados expirados
  • HTTP sem TLS
  • Senhas armazenadas em texto claro

A03:2021 — Injection

Injeção de código malicioso em interpretadores.

  • SQL Injection
  • NoSQL injection
  • OS Command Injection
  • LDAP Injection
  • XSS (movido para cá no 2021)

A04:2021 — Insecure Design

Falhas no design da aplicação, antes mesmo da implementação.

  • Ausência de threat modeling
  • Rate limiting insuficiente
  • Falta de validação no design
  • Missing security controls

A05:2021 — Security Misconfiguration

Configurações inseguras em servidores, aplicações e cloud.

  • Default credentials
  • Directory listing habilitado
  • Verbose error messages
  • Serviços desnecessários expostos
  • Cloud storage público

A06:2021 — Vulnerable and Outdated Components

Uso de bibliotecas e frameworks com vulnerabilidades conhecidas.

  • Log4Shell (CVE-2021-44228)
  • Dependências desatualizadas
  • SBOM ausente
  • SCM desatualizadas

A07:2021 — Identification and Authentication Failures

Falhas em mecanismos de autenticação e gerenciamento de identidade.

  • Credential stuffing
  • Senhas fracas
  • Session fixation
  • JWT attacks (alg:none, token theft)
  • Falta de MFA

A08:2021 — Software and Data Integrity Failures

Falhas relacionadas a atualizações e dados não verificados.

  • Supply chain attacks
  • CI/CD pipeline inseguro
  • Deserialization insegura
  • Atualizações não assinadas

A09:2021 — Security Logging and Monitoring Failures

Falta de log, monitoramento e resposta a incidentes.

  • Logs sem dados críticos
  • Monitoramento ausente
  • Falta de alertas
  • Resposta a incidentes não documentada

A10:2021 — Server-Side Request Forgery (SSRF)

Aplicação faz requisições a URLs fornecidas pelo usuário sem validação.

  • Cloud metadata (169.254.169.254)
  • Internal network scanning
  • File:// protocol abuse
  • Blind SSRF

OWASP ASVS (Application Security Verification Standard)

ASVS define níveis de verificação de segurança:

  Nível 1 — Verificação automatizada (todos os apps)
    → Testes básicos: SQLi, XSS, CSRF, auth
    → Ferramentas: ZAP, Burp Scanner, Semgrep

  Nível 2 — Verificação manual (apps sensíveis)
    → Revisão de código, teste de lógica
    → Threat modeling, architecture review

  Nível 3 — Verificação aprofundada (apps críticos)
    → Testes de penetração completos
    → Análise de binários, fuzzing

OWASP ZAP (Zed Attack Proxy)

# Iniciar ZAP via CLI
zap.sh -daemon -port 8081

# Modo headless (útil para CI/CD)
zap.sh -daemon -config api.key=12345

# Spider automático
zap-cli spider http://alvo.com
zap-cli active-scan http://alvo.com
zap-cli alerts

# Scan automatizado
zap-cli quick-scan -s xss,sqli http://alvo.com

# Gerar relatório
zap-cli report -o relatorio.html -f html

Threat Modeling

STRIDE (Microsoft)

CategoriaAmeaçaExemplo
SpoofingFalsificação de identidadeRoubo de sessão, JWT forjado
TamperingModificação não autorizadaSQLi, MITM
RepudiationNegar açãoFalta de logs
Information DisclosureVazamento de dadosDirectory listing, error verbose
Denial of ServiceIndisponibilidadeDDoS, resource exhaustion
Elevation of PrivilegeEscalamentoIDOR, path traversal

DREAD (Risk Rating)

FatorDescrição
Damage PotentialImpacto do ataque
ReproducibilityFacilidade de reprodução
ExploitabilityDificuldade de explorar
Affected UsersNúmero de usuários afetados
DiscoverabilityFacilidade de encontrar a vulnerabilidade

OWASP Cheat Sheets

Recursos essenciais:
  - SQL Injection Prevention Cheat Sheet
  - XSS Prevention Cheat Sheet
  - CSRF Prevention Cheat Sheet
  - Authentication Cheat Sheet
  - Input Validation Cheat Sheet
  - REST Security Cheat Sheet
  - Docker Security Cheat Sheet

Lab: Iniciando com ZAP

# 1. Baixar e instalar OWASP ZAP
# https://www.zaproxy.org/download/

# 2. Iniciar ZAP em modo daemon
zap.sh -daemon -port 8081

# 3. Configurar proxy no navegador (127.0.0.1:8081)

# 4. Navegar no site alvo pelo navegador proxy

# 5. Executar spider
zap-cli spider http://testphp.vulnweb.com
zap-cli active-scan http://testphp.vulnweb.com
zap-cli alerts

OWASP Top 10 é o ponto de partida para segurança web. Entenda cada categoria, não apenas o nome. STRIDE ajuda a pensar em ameaças durante o design. ZAP é a ferramenta gratuita mais importante para DAST.