// appsec · owasp + cwe top 25
Segurança de aplicações · Referência interativa

OWASP Top 10:2025
+ CWE TOP 25

Guia que cruza as 10 categorias do OWASP Top 10 com as 25 fraquezas do CWE TOP 25 (MITRE). Cada item reúne conceitos, exemplos de código vulnerável e correção, casos documentados, matriz OWASP↔CWE, simuladores, terminais interativos e checklist de mitigação — com labs práticos no OWASP Juice Shop.

2 trechos por linha — contexto e fundamentos

Data-informed, não opinião isolada

«The OWASP Top 10 is a standard awareness document for developers and web application security. It represents a broad consensus about the most critical security risks to web applications.» A edição 2025 combina 2,8M+ aplicações testadas com pesquisa comunitária para categorias sub-representadas em scanners.
Ponto-chave

O ranking reflete o que ferramentas e pentesters encontram — não substitui threat model do seu domínio.

67% das CVEs agora têm CWE mapeado pelo CNA

O salto de +14 pontos percentuais em mapeamento CNA melhora a qualidade do ranking: menos abstrações genéricas, mais fraquezas Base/Variant acionáveis em revisão de código e triagem de patch.

Ponto-chave

Priorize correção onde CVE, CWE e categoria OWASP convergem — é onde o ecossistema já concorda na root cause.

§00·mercado

Panorama 2024–2025

Dados OWASP Top 10:2025 (2,8M+ apps), MITRE CWE TOP 25 (39.080 CVEs), DBIR, IBM.

Snowflake — centenas de tenants sem MFA

Campanha UNC5537 explorou contas Snowflake com autenticação fraca e credenciais reutilizadas. Ticketmaster, Santander e dezenas de outros clientes tiveram dados exfiltrados.

Não houve zero-day — o atacante usou credenciais vazadas em ambientes onde MFA não era obrigatório por padrão. Session hijack e data exfiltration em escala industrial.

165+Clientes
A02+A07Categorias
2024Campanha
Na prática
  • MFA obrigatório em todo tenant SaaS
  • Rotacionar credenciais após vazamento
  • Monitorar login anômalo via CTI
Ponto-chave

Misconfiguration (A02) + auth fraca (A07) compõem o vetor mais barato para atacantes em SaaS multi-tenant.

Automação de IR reduz US$ 1,76M no custo médio

Organizações com security AI e automação encurtaram o ciclo de vida do incidente em 108 dias. O gap não é só ferramenta — é detectar, correlacionar e responder antes que logging vire arquivo morto (A09).

Ponto-chave

ROI de AppSec inclui MTTI/MTTR: investir em alerting acionável paga mais que comprar mais um scanner.

Prevalência por categoria — dados contribuídos ao OWASP Top 10:2025 Introduction (2,8M+ aplicações). Clique na categoria para abrir a página oficial.

IDCategoriaPrevalênciaCWEsNota 2025
A01Broken Access Control3,73%40 CWEsSSRF incorporado nesta categoria
A02Security Misconfiguration3,00%16 CWEsSubiu de #5 (2021) para #2
A03Software Supply Chain Failures5 CWEsMenor incidência nos dados, maior exploit/impact score
A04Cryptographic Failures3,80%32 CWEsCaiu de #2 para #4
A05Injection38 CWEsMais CVEs associadas; XSS alta freq / SQLi alto impacto
A06Insecure DesignCaiu de #4 para #6
A07Authentication Failures36 CWEsFrameworks padronizados reduzem ocorrências
A08Software/Data Integrity FailuresIntegridade em runtime, abaixo de supply chain
A09Logging & Alerting FailuresSub-representado nos dados automatizados
A10Mishandling of Exceptions24 CWEsNova categoria 2025

Somente A01, A02 e A04 têm % em testes (2,8M+ apps). As outras 7 categorias vêm do community survey — veja a tabela acima · clique para filtrar

Ranking

Interativo — passe o mouse ou clique na legenda

Distribuição didática de vetores iniciais (credenciais, phishing, vuln, misconfig)

Distribuição

Interativo — passe o mouse ou clique na legenda

Trecho da matéria Verizon DBIR 2024

Credenciais ainda dominam o vetor inicial

Uso de credenciais roubadas e credential stuffing permanecem entre os principais vetores de breach em aplicações web. Misconfiguration responde por parcela significativa dos ataques web — alinhado com A02 subindo para #2 no OWASP 2025.

Ponto-chave

MFA, rate limit e monitoramento de credenciais vazadas são controles de mercado, não diferencial opcional.

IA sem governança aumenta custo e frequência

«Organizations with extensive use of security AI and automation reported significantly lower breach costs and faster incident resolution.» O inverso também aparece nos dados: 97% tiveram incidentes de IA sem controles adequados — novo eixo de risco além do Top 10 clássico.
US$ 4,4MCusto médio
97%IA sem controles
Ponto-chave

Ao discutir ROI de AppSec, inclua MTTR — não só prevenção de vuln.

Metodologia OWASP Top 10:2025 (documento oficial): ranking data-informed com 8 categorias vindas de testes em 2,8M+ aplicações e 2 promovidas pela pesquisa comunitária (supply chain e logging/alerting). Dados IBM: Cost of a Data Breach 2025 (US$ 4,4M médio, gap de governança IA). DBIR: Verizon DBIR 2025. CWE: MITRE TOP 25 2025 (67% CNA mapping).

Comparativo de ranking — OWASP 2021 vs OWASP 2025.

Pos.OWASP 2021OWASP 2025Evolução
A01Broken Access ControlBroken Access ControlMantido #1
A02Cryptographic FailuresSecurity MisconfigurationCripto desceu
A03InjectionSoftware Supply ChainNova supply chain
A04Insecure DesignCryptographic FailuresReposicionada
A05Security MisconfigurationInjectionInjection desceu
A06Vulnerable ComponentsInsecure DesignComponentes→supply
A07Authentication FailuresAuthentication FailuresMantido
A08Software/Data IntegritySoftware/Data IntegrityMantido
A09Logging FailuresLogging and AlertingÊnfase alertas
A10SSRFMishandling ExceptionsSSRF saiu; exceções entraram
§R·intel

Inteligência de ameaças

Análise consolidada MITRE, OWASP, Verizon DBIR, IBM, CISA, PortSwigger — selecione à esquerda.
Citações e menções — primeira leva
Destaque CISA KEV Catalog

Patch KEV antes de hardening genérico

O catálogo Known Exploited Vulnerabilities lista CVEs com exploit confirmado in-the-wild. CWE-78 (OS Command Injection) lidera em entradas — relevante mesmo em apps web com bindings nativos, parsers PDF e pipelines CI.

Ponto-chave

SLA de patch < 48h para KEV; WAF temporário só enquanto o patch não desce para produção.

Discussão Guia · Inteligência de ameaças

De relatório a backlog de engenharia

Para cada insight do hub (MITRE, OWASP, DBIR, IBM), pergunte: qual user story quebra se isso for explorado? Qual teste automatizado detecta? Quem é owner do controle? Sem essa ponte, intel vira slide — não sprint.

Ponto-chave

Exercício: escolha 1 CWE do TOP 25 e derive 2 user stories de abuso + 1 gate de CI.

39.080 CVEs analisados — CWE-79 lidera com score 60,38

39.080CVE Records no dataset
67%CVEs com CWE mapeado pelo CNA (+14pp vs 2024)
28.336Mapeamentos CWE no Top 25
71,82%Mappings em nível Base (actionable)

O CWE TOP 25 2025 reflete mapeamentos reais de CNAs — sem normalização forçada para View-1003 do NVD. Isso traz CWEs mais precisos (Base/Variant) ao ranking, explicando a entrada de buffer overflows clássicos (#11, #14, #16) e a saída de abstrações como CWE-119 e CWE-287.

CWE-862 (Missing Authorization) subiu 5 posições para #4 — o maior salto. CWE-476 (NULL deref) subiu 8 posições. CWE-306 (Missing Authentication) subiu 4 posições. Isso confirma que falhas de authZ/authN dominam o ecossistema web/API.

Mapeamentos para CWEs 'Discouraged' caíram de 10,19% (2024) para 5,42% (2025) — melhoria na qualidade de root cause mapping pela comunidade CVE.

CWE-79 manteve #1 apesar de +3.000 CVEs adicionais mapeadas. CWE-787 caiu de #2 para #5; CWE-20 caiu 6 posições; SSRF (CWE-918) caiu para #22 mas permanece crítico em cloud.

  • Investir em authZ server-side (CWE-862/639)
  • Encoding context-aware para XSS
  • Memory-safe para parsers nativos
  • Exigir CWE Base/Variant em CVE disclosures
Abrir fonte primária →

2,8 milhões de aplicações testadas — 2 categorias novas

2,8M+Apps no dataset
248CWEs nas 10 categorias
589CWEs analisados
175kCVEs mapeados no NVD

8ª edição do OWASP Top Ten. Metodologia data-informed + community survey: 8 categorias vêm dos dados, 2 da pesquisa comunitária (supply chain e logging/alerting sub-representados em testes automatizados).

A01 mantém #1: 3,73% das apps testadas tinham pelo menos uma das 40 CWEs de Broken Access Control. SSRF foi consolidado em A01 (saiu como categoria própria do Top 10).

A03 Software Supply Chain Failures expande A06:2021 (Vulnerable Components) para pipeline, build e distribuição. Tem as menores ocorrências nos dados mas os maiores scores médios de exploit e impacto.

A10 Mishandling of Exceptional Conditions é nova: 24 CWEs cobrindo error handling, fail-open, race conditions e estados inconsistentes após exceções.

Contribuidores de dados: Accenture, Bugcrowd, Contrast, Semgrep, Sonar, Veracode, Orca Security e outros.

  • Mapear 248 CWEs do Top 10 no seu stack
  • Threat model para supply chain (SLSA/SBOM)
  • Fail-closed em authZ e error paths
Abrir fonte primária →

Ataques web e credenciais continuam dominando breaches

16%Breaches via credential stuffing
15%Web attacks — misconfiguration
32%Breaches envolvendo ransomware
Posição de erros humanos como vetor

O DBIR 2024 analisa milhares de incidentes reais. Credential stuffing e uso de credenciais roubadas permanecem no topo — reforçando A07 e a necessidade de MFA + rate limiting.

Misconfiguration em aplicações web responde por ~15% dos ataques web — alinhado com A02 subindo para #2 no OWASP 2025.

O relatório destaca que vulnerabilidades exploradas (não zero-days) continuam sendo o vetor principal — patch management e hardening baseline são ROI alto.

Setor financeiro: 94% dos breaches envolvem sistema web, aplicativo ou API como vetor principal.

  • MFA obrigatório (FIDO2)
  • CIS Benchmarks automatizados
  • Monitoramento de credenciais vazadas (CTI)
Abrir fonte primária →

US$ 4,88M custo médio — automação reduz US$ 1,76M

US$ 4,88MCusto médio global
US$ 9,48MCusto médio EUA
277 diasMTTI médio
US$ 1,76MEconomia com automação IR

Breaches com security AI/automação tiveram ciclo de vida 108 dias menor. Logging sem alerting (A09) perpetua MTTI alto.

43% dos breaches envolvem terceiros — supply chain não é só dependência npm, é ecossistema inteiro.

Shadow data (dados não catalogados) aparece em 35% dos breaches — correlaciona com A02 e A09.

  • SIEM + SOAR com playbooks
  • SBOM + vendor risk assessment
  • Data discovery e classificação
Abrir fonte primária →

Memory corruption e command injection ativamente explorados

20KEV em CWE-78 OS Command Injection
14KEV em CWE-416 Use After Free
12KEV em CWE-787 OOB Write
11KEV em CWE-502 Deserialization

O catálogo KEV da CISA lista vulnerabilidades com exploit conhecido in-the-wild. CWEs de memory safety e command injection dominam — relevante mesmo em apps web com bindings nativos (imagem, PDF, Node addons).

Deserialização (CWE-502) mantém 11 entradas KEV — Java, .NET e Node gadget chains continuam ativos.

Priorize patch de KEV antes de hardening genérico — ROI imediato em redução de superfície explorável.

  • Pipeline de patch KEV < 48h
  • WAF rules para CVEs KEV sem patch
  • Inventário de parsers nativos
Abrir fonte primária →

IDOR em 94% dos apps — SSRF crescendo em APIs

94%Apps com IDOR em pentest
HTTP request smuggling em decline
SSRF em APIs cloud-native

A pesquisa anual do PortSwigger confirma que Broken Access Control não é hype — é a falha mais encontrada em testes manuais, alinhado com A01 #1.

SSRF migrou de categoria Top 10 para sub-item de A01, mas continua crescendo com adoção de microserviços e funções serverless que fazem fetch de URLs.

Business logic flaws (preço negativo, race conditions) aparecem em ~40% dos testes — A06 Insecure Design.

  • AuthZ matrix automatizada em CI
  • Block metadata IPs em fetchers
  • Abuse case testing no backlog
Abrir fonte primária →

Corrigir em design custa fração do patch em produção

PW.1Design software seguro
PO.3Revisar código
RV.1Identificar vulnerabilidades
100×Estimativa custo design vs prod (indústria)

O Secure Software Development Framework define práticas: preparar organização (PO), proteger software (PS), produzir software seguro (PW), responder a vulnerabilidades (RV).

Threat modeling antes do sprint 1 (PW.1.2) e revisão de requisitos de segurança (PW.1.1) são práticas de alto impacto mapeáveis a A06.

Organizações maduras integram SSDF em pipeline CI/CD com gates bloqueantes — não checklist anual.

  • Threat Dragon no repo
  • Security champions por squad
  • Gates SAST/SCA bloqueantes
Abrir fonte primária →

Detecção de incidentes é obrigação legal, não opcional

Art. 46LGPD — segurança e boas práticas
Art. 32GDPR — medidas técnicas adequadas
72hPrazo notificação GDPR

Ambos os marcos exigem medidas técnicas para proteger dados pessoais E capacidade de detectar incidentes. Logging sem alerting (A09) é gap de compliance.

ANPD orienta que exposição por misconfiguration (A02) pode exigir comunicação aos titulares se houver risco relevante.

Na prática: correlacione cada OWASP com artigo LGPD/GDPR aplicável.

  • DPIA para features com PII
  • Runbook de incidente com ANPD
  • Redação de PII em logs
Abrir fonte primária →

GenAI expande superfície — prompt injection e data leakage

LLM01Prompt Injection
LLM02Sensitive Info Disclosure
LLM06Excessive Agency
10Riscos LLM

Aplicações com LLM introduzem vetores fora do Top 10 web clássico: jailbreak, tool abuse, training data extraction e RAG poisoning.

Na prática: trate copilot interno como microserviço Tier-0 — threat model, logging, rate limit e revisão de system prompt.

  • LLM firewall (input/output)
  • Segregar collections por tenant
  • Audit trail de tool calls
  • Benchmark de jailbreak no CI
Abrir fonte primária →

Fraquezas do TOP 25 com exploit confirmado in-the-wild · prioridade de patch

Interativo — passe o mouse ou clique na legenda

KEV não é opcional para órgãos US — referência global de prioridade

«Federal Civilian Executive Branch agencies are required to remediate vulnerabilities identified in the CISA KEV catalog within prescribed timeframes.» Mesmo fora do setor público US, o KEV é o melhor proxy de «explorado agora» disponível gratuitamente.
Na prática
  • Patch KEV em < 48h
  • Inventário semanal do catálogo
  • WAF rule só como mitigação temporária
Ponto-chave

Cruze KEV com seu SBOM — interseção é sprint zero.

Menção · referência Menção · Threat modeling

«Threat modeling is a family of activities»

Shostack enfatiza que threat model não é diagrama bonito — é atividade repetida que alimenta design seguro (A06). STRIDE, attack trees e misuse cases devem aparecer no backlog, não só no Confluence.

— Adam Shostack · Threat Modeling
Ponto-chave

Para cada categoria OWASP, pergunte no threat model: como isso seria abusado?

§N·news

Notícias & pesquisa

Curadoria 2024–2026 · MITRE, OWASP, IBM, Verizon, CISA · clique para filtrar na matriz
Contexto editorial — 2 por linha

Root cause mapping é o objetivo do CWE

«The CWE Top 25 is a compilation of the most common and impactful weakness types in software. The goal is to help prioritize mitigation efforts by focusing on weaknesses that are most often exploited.» O ranking 2025 prioriza mapeamentos CNA reais — não normalização forçada do NVD.
Ponto-chave

Use o TOP 25 para priorizar estudo; use CNA mapping no seu programa de disclosure interno.

Menção · referência Menção · Security mindset

Segurança é um processo, não um produto

Schneier repete há décadas: comprar ferramenta sem processo de patch, revisão e resposta não fecha risco. Os relatórios desta seção (DBIR, IBM, MITRE) quantificam o que ele descreve qualitativamente — breaches continuam por falhas conhecidas e não corrigidas.

— Bruce Schneier · Schneier on Security

Cada notícia abaixo deve virar uma ação verificável — não apenas clipping.

Na prática
  • Relacione headline → OWASP → CWE → controle
  • Pergunte: isso existe no nosso stack?
  • Derive 1 ticket de engenharia por incidente lido
Ponto-chave

Curadoria sem backlog é leitura passiva — exigimos ação rastreável.

cwe
MITRE

CWE TOP 25 2025 publicado

Maior salto: CWE-862 (+5 pos.)

Ranking definitivo com 39.080 CVEs analisados. CWE-79 (XSS) mantém liderança com score 60,38 — mais que o dobro do segundo colocado.

Destaques: CNA mapping subiu de 53% para 67% (+14pp). CWE-862 (Missing Authorization) subiu 5 posições para #4. Buffer overflows clássicos retornam ao TOP 25. Mapeamentos para CWEs 'Discouraged' caíram para 5,42%.

39.080 CVEs67% CNA map#1 CWE-79
  • Priorize authZ server-side (CWE-862)
  • Exija CWE Base/Variant em disclosures
  • Correlacione com a matriz OWASP desta página
mercado
IBM

Cost of a Data Breach Report 2025

Gap de governança IA é novo vetor de custo

Custo médio global cai 9% para US$ 4,4M, mas incidentes envolvendo IA sem controles atingem 97% das organizações analisadas.

Organizações com IA defensiva extensiva economizam US$ 1,9M e reduzem ciclo de vida do incidente. Shadow data e terceiros continuam amplificando impacto. Logging sem alerting perpetua MTTI alto — gap direto em A09.

US$ 4,4M Custo médio97% IA sem controlesUS$ 1,9M Economia IA def.
  • SIEM + SOAR com playbooks acionáveis
  • DPIA para features com GenAI
  • Vendor risk em cadeia de terceiros
mercado
Verizon

DBIR 2025 — terceiros e vulnerabilidades em alta

Vuln explorada > zero-day na maioria dos casos

Ameaças via terceiros dobraram no período. Intrusão em sistemas responde por 81% dos breaches analisados.

Exploração de vulnerabilidades conhecidas volta a crescer — reforça patch management e hardening baseline como ROI alto. Setor financeiro: 94% dos breaches envolvem web, app ou API como vetor.

Terceiros81% Intrusão sistema94% Fin. web/API
  • MFA obrigatório (FIDO2)
  • SBOM + avaliação de fornecedores
  • Monitoramento CTI de credenciais vazadas
owasp
OWASP

OWASP Top 10:2025 — versão final

A02 misconfig sobe para #2

8ª edição publicada com 2 categorias novas promovidas pela pesquisa comunitária e metodologia data-informed em 2,8M+ apps.

A03 Software Supply Chain Failures e A09 Logging and Alerting entram via survey — sub-representados em testes automatizados. A10 Mishandling of Exceptional Conditions é categoria inédita com 24 CWEs. SSRF consolidado em A01.

2,8M+ Apps testadas248 CWEs mapeadas2 Categorias novas
  • Mapear 248 CWEs no seu stack
  • Threat model supply chain (SLSA/SBOM)
  • Fail-closed em authZ e error paths
incidente
CISA

Snowflake — campanha MFA bypass

Maior campanha SaaS de 2024–2025

UNC5537 explorou centenas de tenants Snowflake com credenciais sem MFA obrigatório e reutilização de senhas.

Ticketmaster, Santander, Advance Auto Parts entre afetados. Não houve zero-day — vetor foi credencial vazada + configuração permissiva de autenticação. Lição direta para A07 + A02 em ambientes SaaS multi-tenant.

165+ ClientesA07 Auth failureA02 Misconfig
  • MFA obrigatório em todos os tenants
  • Rate limit e lockout no login
  • Monitoramento de credenciais em CTI
incidente
NVD

CVE-2024-3094 — backdoor XZ Utils

Maior incidente supply chain OSS de 2024

Backdoor inserido em liblzma após comprometimento social do maintainer solo — detectado por anomalia em sshd, não por scanner.

Atacante acumulou confiança por anos antes de inserir código malicioso. Afetou distros Linux mainstream. Marco definitivo de supply chain em open source — motivação direta para A03:2025 no OWASP Top 10.

3 anos InfiltraçãoA03 Supply chainCWE-829 Dep. maliciosa
  • Pin + hash verification em deps nativas
  • Revisão humana de mudanças críticas
  • Proveniência SLSA nível 3+
pesquisa
PortSwigger

Web Security Academy — novos labs SSRF/IDOR

Broken Access Control domina pentest manual

Conteúdo 2024–2025 reforça APIs cloud-native, JWT abuse e GraphQL BOLA — alinhado a A01 como #1 em pentests manuais.

Pesquisa anual confirma IDOR em 94% dos apps testados. SSRF cresce com microserviços e serverless que fazem fetch de URLs. Business logic flaws em ~40% dos escopos — overlap com A06 Insecure Design.

94% IDOR SSRF APIs40% Logic flaws
  • AuthZ matrix automatizada em CI
  • Block metadata IPs em fetchers
  • Abuse case testing no backlog
incidente
Change Healthcare

Maior breach saúde EUA — credenciais sem MFA

Maior breach healthcare EUA

Ransomware ALPHV/BlackCat via credencial Citrix comprometida sem MFA. Paralisou pagamentos de saúde por semanas.

Maior incidente do setor saúde nos EUA. Vetor inicial: credencial válida sem segundo fator em portal exposto. Impacto em cadeia: farmácias, hospitais e processamento de claims. Caso emblemático de A07 em ambientes críticos.

100M+ RegistrosSemanas ParalisaçãoA07 Auth failure
  • MFA em todo acesso remoto
  • Segmentação de rede para Citrix/RDP
  • Backup offline testado
incidente
Oracle

Oracle Health — breach em hospitais

Healthcare continua alvo de alto impacto

Até 80 hospitais potencialmente impactados por falhas em integração legada e exposição de dados clínicos.

Ambientes healthcare combinam sistemas legados, integrações HL7/FHIR mal protegidas e superfície exposta. Correlaciona A02 (misconfig) com CWE-200 (exposure) — dados clínicos sem controles proporcionais ao risco.

80 HospitaisA02 MisconfigPII/PHI Dados
  • Inventário de integrações legadas
  • Criptografia em trânsito e repouso
  • Auditoria de permissões em APIs clínicas
owasp
OWASP

ASVS 5.0 em desenvolvimento

Checklist evolui para stack 2025+

Nova versão do Application Security Verification Standard incorpora APIs, cloud, containers e requisitos para GenAI/LLM.

ASVS 5.0 expande cobertura para arquiteturas modernas: microserviços, serverless, service mesh e copilots internos. Use como checklist de verificação cruzada com cada categoria OWASP:2025 neste guia.

5.0 VersãoAPI CoberturaLLM Novos reqs
  • Mapear ASVS level alvo por aplicação
  • Gates bloqueantes em CI por capítulo
  • Security champions por squad
cwe
CISA

KEV catalog — recorde de adições Q1

Exploit in-the-wild = prioridade zero

Catálogo de vulnerabilidades exploradas ativamente cresce em ritmo recorde. Software de borda e VPN lideram entradas.

CWE-78 (OS Command Injection) e memory corruption dominam KEV. Prioridade de patch para CVEs listadas deve ser < 48h — antes de hardening genérico. Correlacione com o gráfico CWE↔KEV nesta página.

20 CWE-78 KEV<48h SLA patchCWE TOP 25 overlap
  • Pipeline de patch KEV automatizado
  • WAF temporário só sem patch
  • Inventário de parsers nativos
pesquisa
IETF

OAuth 2.1 draft — simplificação PKCE

Padrão OAuth amadurece para APIs modernas

Consolidação de boas práticas OAuth para SPAs, mobile e APIs — PKCE obrigatório, implicit flow removido.

OAuth 2.1 simplifica implementações seguras e elimina fluxos deprecados. Impacto direto em A07 (Authentication Failures) e A01 (Broken Access Control) em APIs que usam tokens sem validação rigorosa de audience e scope.

PKCE Obrigatório2.1 DraftA07 OWASP
  • Migrar implicit → authorization code + PKCE
  • Validar audience e scope no resource server
  • Rotacionar refresh tokens
§mapa·owasp ↔ cwe

Matriz de correlação

Clique na célula, no cabeçalho OWASP/CWE ou na lista lateral.
Aprendizado OWASP ↔ CWE Mapping

Uma CWE, várias categorias OWASP

CWE-200 (Exposure) aparece em A02 (misconfig) e A09 (logs). CWE-502 liga A03 (supply chain) e A08 (integridade). A matriz 10×25 mostra onde priorizar esforço quando o mesmo defeito alimenta múltiplos riscos de compliance.

Ponto-chave

Clique na célula da matriz para filtrar toda a página — use como índice vivo durante o estudo.

Citação OWASP Foundation

OWASP e MITRE CWE são complementares

«OWASP Top 10 categories are mapped to CWEs to provide a deeper technical understanding of the weaknesses that can lead to each risk category.» A matriz interativa torna esse mapeamento navegável — clique filtra toda a página.
Ponto-chave

OWASP responde «o que priorizar»; CWE responde «qual defeito no código».

29 correlações · filtro: nenhum

Quantidade de CWEs correlacionadas em cada categoria · clique para filtrar

Distribuição

Interativo — passe o mouse ou clique na legenda

79893528627872241612578941204344761215021228632028420030691877639770
A01
A02
A03
A04
A05
A06
A07
A08
A09
A10
Selecione uma correlação na matriz 10×25 para filtrar as seções e ver a explicação.
§term·cli

Terminal Lab

Simulador interativo — digite comandos (help, curl, sqlmap, npm audit…)
Destaque OWASP WSTG

CLI reproduz o que o relatório descreve

curl, sqlmap e jwt_tool no terminal didático espelham passos do Web Security Testing Guide. A diferença entre ler sobre IDOR e ver o JSON de outro usuário no terminal é o que fixa o conceito para auditoria e dev.

Cada lab do terminal mapeia para um capítulo WSTG: WSTG-ATHZ-03 (IDOR), WSTG-INPV-05 (SQLi), WSTG-SESS-10 (JWT). A saída formatada simula o que você colaria em um laudo de pentest.

O fluxo didático segue a mesma ordem da IDE Juice Shop: reproduzir → entender → corrigir → validar que o exploit falha.

12+Comandos
WSTGGuia base
A01–A07OWASP cobertos
Na prática
  • curl /rest/basket/{id} — IDOR sem checagem de ownership (CWE-639)
  • sqlmap no login — valida CWE-89 com payload real do Juice Shop
  • jwt decode + alg:none — testa A07/A08 em lib/insecurity.ts
  • npm audit — correlaciona A03 com CVEs intencionais do package.json
Ponto-chave

Digite help no terminal, execute o exploit, depois fix — mesma ordem da IDE Juice Shop.

Captura de evidência para laudo

Em pentest ou auditoria, cada comando bem-sucedido deve gerar: request/response redigido, timestamp, impacto (confidencialidade/integridade/disponibilidade) e CWE/OWASP mapeados. O terminal desta página simula a cadeia de reprodução.

Um achado completo inclui: descrição técnica, passos de reprodução, evidência (screenshot ou log redigido), classificação CVSS simplificada e recomendação de mitigação com referência ASVS.

Em laboratório, trate cada sessão no terminal como mini-relatório: hipótese → teste → resultado → conclusão.

CIATriade impacto
Art. 46LGPD
ASVSControle ref.
Na prática
  • Redija e-mails, tokens e CPF antes de colar output — minimização de PII
  • Registre HTTP method, path, status code e trecho relevante do body
  • Mapeie cada achado a OWASP + CWE + severidade para o backlog
  • Inclua comando fix ou snippet de correção na recomendação
Por que importa

Relatórios sem evidência reproduzível não sobrevivem a reteste nem a auditoria ANPD/GDPR.

Ponto-chave

Pratique redigir PII antes de colar output em relatório — LGPD Art. 46 exige minimização.

SQLi — login.ts A05 · CWE-89
Lab Juice Shop · SQL Injection Digite help ou experimente curl/sqlmap.
$
IDOR — basket.ts A01 · CWE-639
Lab IDOR · Broken Object Level Authorization
$
XSS — busca e feedback A05 · CWE-79
Lab XSS · CWE #1 MITRE 2025 (score 60.38)
$
JWT — insecurity.ts A04 · CWE-347
Lab JWT · weak crypto + alg confusion
$
Supply Chain — npm audit A03 · CWE-829
Lab Supply Chain · SBOM + audit
$
SSRF — profile image A01 · CWE-918
Lab SSRF · metadata cloud
$
Auth — login + admin A07 · CWE-306
Lab Authentication · CWE-306 Missing Auth Clique nos comandos ou ▶ Demo.
$
§code·vault

Cofre de código

25 padrões vulnerável→correção · 19 labs Juice Shop
Aprendizado Cofre de Código

Diff vulnerável → correção é o artefato central

Cada padrão no cofre mostra o anti-pattern exato e a correção idiomática na linguagem do exemplo. Em code review, treine o olho para o mesmo shape: concatenação em query, substring em redirect, parse sem validação.

Ponto-chave

Abra o padrão, copie o checklist ASVS da categoria OWASP correspondente e marque item a item.

Citação OWASP Juice Shop

Vulnerabilidades intencionais com código de produção real

«Juice Shop is an intentionally insecure web application for security trainings written in Node.js, Express and Angular.» Os trechos em routes/ e lib/ são os mesmos padrões encontrados em auditorias reais — apenas concentrados em um repositório didático.
Ponto-chave

grep no clone local correlaciona achado de scanner com linha de código — prática recomendada antes do quiz.

A05 CWE-89 Python/Flask

SQLi em query raw

Mesmo com ORM, .raw() e text() com f-string reintroduzem CWE-89.

cursor.execute(f"SELECT * FROM users WHERE email = '{email}'")
cursor.execute('SELECT * FROM users WHERE email = %s', (email,))
A05 CWE-89 Node/Sequelize

SQLi — Juice Shop login.ts

Padrão exato do Juice Shop — concatenação em template literal.

sequelize.query(`SELECT * FROM Users WHERE email = '${email}'`)
User.findOne({ where: { email, password: hash(pw) } })
A05 CWE-89 Java/JDBC

SQLi clássico JDBC

MOVEit e Struts exploraram variantes similares em produção.

stmt.executeQuery("SELECT * FROM users WHERE id=" + userId)
PreparedStatement ps = conn.prepareStatement("SELECT * FROM users WHERE id=?");
ps.setInt(1, userId);
A05 CWE-78 Python

OS Command Injection

shell=True em subprocess equivale a system().

os.system(f'ping -c 1 {host}')
subprocess.run(['ping', '-c', '1', host], check=True)  # lista, sem shell
A05 CWE-79 Node/Express

Reflected XSS

Context matters: HTML ≠ JS ≠ URL encoding.

res.send(`<p>Olá ${req.query.name}</p>`)
res.json({ greeting: escapeHtml(req.query.name) })
A05 CWE-79 React

DOM XSS via dangerouslySetInnerHTML

Bypass de sanitização Angular [innerHTML] é vetor similar.

<div dangerouslySetInnerHTML={{ __html: userBio }} />
<div>{userBio}</div>  // React escapa por default
// ou DOMPurify.sanitize(userBio)
A01 CWE-639 Python/FastAPI

IDOR em API REST

Padrão BOLA — derive identity do token, não do path.

@app.get('/orders/{order_id}')
def get_order(order_id):
    return db.get_order(order_id)
@app.get('/orders/{order_id}')
def get_order(order_id, user=Depends(auth)):
    o = db.get_order(order_id)
    if o.user_id != user.id: raise HTTPException(403)
    return o
A01 CWE-862 Go

Missing Authorization middleware

Deny-by-default: rotas sensíveis atrás de middleware explícito.

http.HandleFunc("/api/admin", adminHandler)
admin := http.NewServeMux()
admin.HandleFunc("/", adminHandler)
http.Handle("/api/admin/", authz.RequireRole("admin", admin))
A08 CWE-502 Java

Desserialização insegura

Commons Collections gadget chain — ysoserial PoC.

ObjectInputStream ois = new ObjectInputStream(req.getInputStream());
Object obj = ois.readObject();
// Use JSON + schema validation
UserDto u = mapper.readValue(req.getInputStream(), UserDto.class);
// ou ObjectInputFilter allowlist
A08 CWE-502 Node

YAML + vm — Juice Shop

yaml.load ≠ safeLoad. vm não é sandbox real.

vm.runInContext('JSON.stringify(yaml.load(data))', sandbox)
const doc = yaml.load(data, { schema: yaml.JSON_SCHEMA, maxAliasCount: 0 })
// sem vm, sem tipos customizados
A04 CWE-327 Python

MD5 para senha

Juice Shop insecurity.ts usa MD5 — mesmo antipadrão.

hashlib.md5(password.encode()).hexdigest()
ph.hash(password)  # Argon2 via argon2-cffi
# verify: ph.verify(hash, password)
A04 CWE-347 Node/JWT

JWT alg:none / sem allowlist

Ataque alg:none troca RS256 por none.

jwt.verify(token, publicKey)  // sem algorithms
jwt.verify(token, publicKey, { algorithms: ['RS256'], issuer: 'juice-shop' })
A02 CWE-200 Kubernetes

Secret em ConfigMap

15% incidentes web — misconfig (Verizon DBIR 2024).

apiVersion: v1
kind: ConfigMap
data:
  DB_PASSWORD: prod-secret-123
kind: Secret
type: Opaque
# + external-secrets operator / Vault CSI
A02 CWE-200 Terraform

S3 bucket público

Accenture AWS 2017 — bucket aberto com chaves API.

acl = "public-read"
block_public_acls = false
acl = "private"
block_public_acls = true
block_public_policy = true
A01 CWE-918 Python

SSRF em requests.get

Capital One — SSRF → IAM role → 106M registros.

requests.get(user_supplied_url)
parsed = urlparse(url)
if parsed.hostname not in ALLOWED: raise ValueError()
if ip_address(parsed.hostname).is_private: raise ValueError()
A06 CWE-352 Express

POST sem CSRF token

SameSite=Strict em cookies de sessão + token synchronizer.

app.post('/transfer', (req, res) => transfer(req.body))
const csrf = require('csurf')()
app.post('/transfer', csrf, (req, res) => transfer(req.body))
A06 CWE-770 Python

Login sem rate limit

16% breaches via credential stuffing (DBIR 2024).

@app.post('/login')
def login(): ...  # ilimitado
@limiter.limit('5/minute')
@app.post('/login')
def login(): ...
A09 CWE-532 Java

Log com PII/token

Juice Shop access.log expõe Bearer tokens.

log.info("Login OK user=" + user + " token=" + jwt)
log.info("Login OK userId={}", user.getId());  // MDC, sem token
A10 CWE-209 Python

Stack trace ao cliente

Equifax Struts — erro verboso precedeu RCE.

except Exception as e:
    return jsonify({"error": traceback.format_exc()})
except Exception:
    logger.exception('request failed', extra={'ref': g.request_id})
    return jsonify({"error": "internal", "ref": g.request_id}), 500
A10 CWE-787 C

OOB write — strcpy

12 CVEs KEV em CWE-787 — parsers nativos em APIs web.

char buf[16];
strcpy(buf, user_input);
char buf[16];
strncpy(buf, user_input, sizeof(buf)-1);
buf[sizeof(buf)-1] = '\0';
A03 CWE-829 Node/npm

Dependência não verificada — typosquat

event-stream (2018) e XZ Utils (2024) — supply chain em maintainer/dep.

"dependencies": {
  "lodash": "4.17.4",
  "event-steam": "1.0.0"
}
"dependencies": {
  "lodash": "4.17.21"
}
// package-lock.json + npm audit ci + Socket.dev
A03 CWE-494 GitHub Actions

Artefato sem assinatura/provenance

SLSA L3: provenance assinada antes do deploy. SolarWinds = update assinado comprometido.

- uses: actions/download-artifact@v4
  with: { name: build }
- run: ./deploy.sh dist/
- uses: sigstore/gh-action-sigstore-python@v1
- run: cosign verify-blob --certificate-oidc-issuer https://token.actions.githubusercontent.com dist/*
A07 CWE-306 Node/Express

Rota admin sem autenticação

Juice Shop appConfiguration.ts — CWE-306 subiu +4 no MITRE 2025.

router.get('/rest/admin/application-configuration', (req, res) => {
  res.json(req.app.get('config'))
})
router.get('/rest/admin/application-configuration',
  security.isAuthorized(['admin']),
  (req, res) => res.json(sanitizeConfig(req.app.get('config')))
)
A07 CWE-287 Python/FastAPI

Session fixation / token fraco

Credential stuffing 16% breaches (DBIR) — sessão deve rotacionar pós-login.

session_id = request.cookies.get('sid') or uuid4()
response.set_cookie('sid', session_id, httponly=False)
session_id = secrets.token_urlsafe(32)
response.set_cookie('sid', session_id, httponly=True, secure=True, samesite='Strict')
A07 CWE-521 Go

Senha fraca sem MFA

MFA FIDO2 reduz 99%+ account takeover — NIST 800-63B AAL2.

if user.Password == req.Password { issueJWT(user) }
if !bcrypt.CompareHashAndPassword(user.Hash, []byte(req.Password)) { return 401 }
if !totp.Validate(req.Code, user.MFASecret) { return 403 }
issueJWT(user)
§sim·owasp

Simuladores OWASP Top 10

10 labs · 1 por categoria OWASP:2025 · ▶ Executar ataque · Fix corrige na IDE.
Ataque simulado
IDE · correção
routes/basket.ts
Ataque simulado
IDE · correção
routes/appConfiguration.ts
Ataque simulado
IDE · correção
package.json
Ataque simulado
IDE · correção
lib/insecurity.ts
Ataque simulado
IDE · correção
routes/login.ts
Ataque simulado
IDE · correção
routes/wallet.ts
Ataque simulado
IDE · correção
lib/insecurity.ts
Ataque simulado
IDE · correção
routes/fileUpload.ts
Ataque simulado
IDE · correção
routes/accessLog.ts
Ataque simulado
IDE · correção
routes/search.ts
§sim·cwe

Simuladores CWE TOP 25

25 labs · 1 por fraqueza MITRE 2025 · Juice Shop + cenários nativos · Fix passo a passo.
Destaque MITRE CWE TOP 25

CWE como lente sobre o mesmo código

O mesmo login.ts do Juice Shop é CWE-89 (SQLi) e categoria A05 (Injection). Os 25 simuladores CWE forçam vocabulário MITRE — essencial para triagem de CVE, relatórios SOC e comunicação com desenvolvimento.

Ponto-chave

Memorize o TOP 10 CWE por score; o restante consulte pela matriz de correlação.

Menção · referência Menção · Root cause

Atacantes pensam em inputs que devs não imaginam

O livro clássico separa bugs de flaws — design flaws (A06) vs implementation bugs (A05/A01). Os 25 simuladores CWE focam implementation; combine com abuse cases para cobrir design.

— Greg Hoglund & Gary McGraw · Exploiting Software
Ponto-chave

Se o simulador CWE passou mas o abuse case falhou, o risco ainda existe.

Ataque simulado
IDE · correção
routes/track-order.ts
Ataque simulado
IDE · correção
routes/login.ts
Ataque simulado
IDE · correção
routes/wallet.ts
Ataque simulado
IDE · correção
routes/scoreBoard.ts
Ataque simulado
IDE · correção
native/parser.c
Ataque simulado
IDE · correção
routes/fileServer.ts
Ataque simulado
IDE · correção
native/decoder.c
Ataque simulado
IDE · correção
native/tls.c
Ataque simulado
IDE · correção
routes/checkKeys.ts
Ataque simulado
IDE · correção
routes/profile.ts
Ataque simulado
IDE · correção
native/legacy.c
Ataque simulado
IDE · correção
routes/fileUpload.ts
Ataque simulado
IDE · correção
native/handler.c
Ataque simulado
IDE · correção
native/stack.c
Ataque simulado
IDE · correção
routes/fileUpload.ts
Ataque simulado
IDE · correção
native/heap.c
Ataque simulado
IDE · correção
routes/feedback.ts
Ataque simulado
IDE · correção
routes/userRegistration.ts
Ataque simulado
IDE · correção
routes/userProfile.ts
Ataque simulado
IDE · correção
routes/accessLog.ts
Ataque simulado
IDE · correção
routes/admin.ts
Ataque simulado
IDE · correção
routes/redirect.ts
Ataque simulado
IDE · correção
routes/webhook.ts
Ataque simulado
IDE · correção
routes/basket.ts
Ataque simulado
IDE · correção
routes/login.ts
§A·owasp

Top 10 2025

Clique em uma categoria para abrir o painel interativo — labs, código, terminal e mitigação.

10 categorias · + Info abre guia completo · Simulador para prática · no modal

01 A01 → mantido

Controle de Acesso Quebrado

Broken Access Control

Broken Access Control permanece na primeira posição do OWASP Top 10:2025. Em testes de penetração, falhas de autorização aparecem em pratica…

3,73%
5 labs
CWE-862CWE-863CWE-639CWE-284
02 A02 ↑ subiu

Configuração Insegura

Security Misconfiguration

Ambientes cloud com buckets públicos, headers de segurança ausentes, CORS * e painéis de administração expostos compõem a maior parte dos ac…

3,00%
3 labs
CWE-16CWE-200CWE-1188
03 A03 ↑ subiu

Falhas na Cadeia de Suprimentos

Software Supply Chain Failures

Categoria nova em 2025, absorvendo 'Vulnerable Components' e expandindo para pipeline, dependências transitivas e integridade de build. Sola…

survey
2 labs
CWE-829CWE-494CWE-502
04 A04 → mantido

Falhas Criptográficas

Cryptographic Failures

Dados sensíveis sem proteção em trânsito ou repouso: TLS 1.0, MD5 para senhas, JWT sem validação de algoritmo. IBM Cost of a Data Breach 202…

3,80%
3 labs
CWE-327CWE-328CWE-798CWE-311
05 A05 ↓ caiu

Injeção

Injection

CWE-79 (XSS) lidera o TOP 25 MITRE 2025 com score 60,38 — mais que o dobro do segundo colocado. SQLi permanece em routes/login.ts e routes/s…

survey
5 labs
CWE-79CWE-89CWE-78CWE-94
06 A06 → mantido

Design Inseguro

Insecure Design

Falhas arquiteturais: sem rate limit, recuperação de senha previsível, lógica de cupom explorável. Corrigir em produção custa até 100× mais …

survey
3 labs
CWE-352CWE-770CWE-840CWE-20
07 A07 → mantido

Falhas de Autenticação

Authentication Failures

CWE-306 subiu 4 posições no TOP 25 2025. Credential stuffing representa 16% dos breaches no Verizon DBIR. MFA reduz risco em 99,2% segundo M…

survey
4 labs
CWE-306CWE-287CWE-384CWE-521
08 A08 → mantido

Falhas de Integridade

Software or Data Integrity Failures

Updates sem assinatura, CI/CD sem proteção, desserialização insegura. CWE-502 tem 11 entradas no CISA KEV. fileUpload.ts executa yaml.load d…

survey
3 labs
CWE-502CWE-345CWE-829
09 A09 → mantido

Falhas de Logging e Alerta

Security Logging and Alerting Failures

IBM 2024: automação de resposta reduz custo de breach em US$ 1,76M. Sem log correlacionado, MTTD mede meses — Marriott levou 4 anos.

survey
2 labs
CWE-778CWE-117CWE-532CWE-200
10 A10 ↑ subiu

Tratamento Incorreto de Exceções

Mishandling of Exceptional Conditions

Nova em 2025. Stack traces em HTTP 500, fail-open em falha de auth, race conditions e estados parciais após timeout. Equifax (Struts) e Hear…

survey
2 labs
CWE-209CWE-787CWE-416CWE-125
Ponte entre os dois hubs — leia antes de abrir o TOP 25
Citação OWASP + MITRE

Mesmo defeito, dois vocabulários

«Injection can occur in many contexts — SQL, LDAP, XPath, NoSQL, OS command, SMTP header, expression language.» O OWASP agrupa o risco de negócio; o CWE nomeia a fraqueza no código. A matriz que você acabou de ver une os dois.
Ponto-chave

Ao sair do hub OWASP para o CWE, busque a mesma correlação no modal.

Menção · referência Menção · Secure coding

Fraqueza enumerada ≠ vulnerabilidade explorada

Seacord enfatiza que CWE descreve classe de defeito — exploitabilidade depende de contexto, exposição e controles compensatórios. O TOP 25 MITRE prioriza prevalência em CVEs, não severidade no seu app específico.

— Robert C. Seacord · CERT
Ponto-chave

Use o score MITRE para estudo; use seu SAST/DAST para sprint.

Quanto maior o score, mais CVEs reais usam essa fraqueza · 39.080 CVEs analisados

Como ler: Barras = score MITRE (quanto maior, mais prevalente em CVEs reais). Nomes completos ficam na legenda à direita.

XSS (CWE-79) tem score 60,38 — mais que o dobro do segundo colocado. Priorize correção e testes nessas 10 primeiras.

Ranking

Interativo — passe o mouse ou clique na legenda

Comparativo MITRE TOP 25 2025 vs 2024 · só fraquezas que mudaram de posição

Como ler: Centro = ranking 2024. Laranja à direita = subiu (mais crítica). Ciano à esquerda = desceu. Detalhes na legenda.

Maior queda: CWE-77 (−10 pos.). Maior subida: CWE-476 (+8). CWE-862 (+5) reforça o foco em autorização (A01 OWASP).

Mudanças 2024→2025

Interativo — passe o mouse ou clique na legenda

Posição atual no MITRE TOP 25 e mudança vs. edição 2024. Posição menor = mais crítica.

Como ler: Cada linha é uma fraqueza. A seta mostra se ganhou ou perdeu posições no ranking anual. Clique para abrir o painel completo.

CWE-79 (XSS) lidera com folga. Entre as 10 primeiras, CWE-862 e CWE-352 subiram — sinal de que falhas de autorização e CSRF seguem em alta.

§C·cwe

TOP 25 MITRE 2025

Clique em uma fraqueza para abrir o painel interativo — OWASP, labs, detecção e mitigação.

25 fraquezas · + Info abre guia completo · Simulador para prática · no modal

Aprendizado MITRE CWE

Score MITRE ≠ frequência no seu código

O ranking agrega CVEs globais. Sua aplicação pode ter CWE-352 (CSRF) frequente e CWE-787 rara. Use o score para priorizar estudo; use o repositório para priorizar sprint.

Ponto-chave

Cruze SAST local com TOP 25 — interseção define o backlog do trimestre.

Citação MITRE CWE Program

«CWE helps describe what went wrong»

«Common Weakness Enumeration (CWE) is a community-developed list of software and hardware weakness types. It serves as a common language for describing the root cause of vulnerabilities.» Use ao lado do CVE: CVE é instância, CWE é classe.
Na prática
  • CVE → instância específica (patch)
  • CWE → padrão no código (fix pattern)
  • OWASP → risco de negócio (prioridade)
Ponto-chave

Nos relatórios, escreva CWE na causa raiz e OWASP no impacto.

01 CWE-79 → mantido

Cross-site Scripting (XSS)

Cross-site Scripting (XSS)

CWE-79 lidera o TOP 25 MITRE 2025 com score 60,38 — mais que o dobro do segundo colocado. A fraqueza nasce quando dados …

60.38
KEV 7
A05
02 CWE-89 ↑ +1

Injeção SQL

SQL Injection

Segunda posição com score 28,72. A query SQL é montada por concatenação — o padrão clássico que prepared statements elim…

28.72
KEV 4
A05
03 CWE-352 ↑ +1

Cross-Site Request Forgery (CSRF)

Cross-Site Request Forgery

Score 13,64. O browser da vítima envia request autenticado para ação que ela não intencionou. APIs que usam apenas cooki…

13.64
sem KEV
A06
04 CWE-862 ↑ +5

Autorização Ausente

Missing Authorization

Subiu 5 posições — o maior salto do ranking 2025. O endpoint executa sem verificar se o caller tem permissão. Diferente …

13.28
sem KEV
A01
05 CWE-787 ↓ -3

Escrita Fora dos Limites (OOB Write)

Out-of-bounds Write

Score 12,68 com 12 CVEs no KEV. Escrita além dos limites de buffer em C/C++. Base de RCE em software nativo, kernels e f…

12.68
KEV 12
A10
06 CWE-22 ↓ -1

Path Traversal

Path Traversal

Score 8,99. Sequências ../ permitem leitura de arquivos fora do diretório permitido. Comum em download de relatórios, im…

8.99
KEV 10
A01
07 CWE-416 ↑ +1

Use After Free

Use After Free

Score 8,47 com 14 KEV — classe dominante em exploits de browser e kernel. Ponteiro usado após memória liberada.

8.47
KEV 14
A10
08 CWE-125 ↓ -2

Leitura Fora dos Limites (OOB Read)

Out-of-bounds Read

Score 7,88. Leitura além do buffer vaza memória adjacente — tokens, chaves, ponteiros para exploit chain.

7.88
KEV 3
A10
09 CWE-78 ↓ -2

Injeção de Comando OS

OS Command Injection

Score 7,85 com 20 KEV — um dos mais explorados ativamente. Input passa para exec(), system(), popen() ou subprocess shel…

7.85
KEV 20
A05
10 CWE-94 ↑ +1

Injeção de Código

Code Injection

Score 7,57. Input gera código executável — eval(), Function(), template engines server-side, EL injection.

7.57
KEV 7
A05
11 CWE-120 → mantido

Buffer Overflow Clássico

Classic Buffer Overflow

Score 6,96. memcpy/strcpy sem verificação de tamanho — vulnerabilidade fundacional ensinada em sistemas operacionais.

6.96
sem KEV
A10
12 CWE-434 ↓ -2

Upload Irrestrito de Arquivo

Unrestricted Upload

Score 6,87. Servidor aceita .php, .jsp, .aspx sem validar tipo, conteúdo e local de armazenamento.

6.87
KEV 4
A01A08
13 CWE-476 ↑ +8

Desreferência de Ponteiro NULL

NULL Pointer Dereference

Score 6,41 — subiu 8 posições, maior ascensão relativa. Crash por dereference de NULL — DoS ou, em casos raros, execução…

6.41
sem KEV
A10
14 CWE-121 → mantido

Stack Buffer Overflow

Stack-based Buffer Overflow

Score 5,75. Overflow na pilha — permite sobrescrever return address para ROP chain.

5.75
KEV 4
A10
15 CWE-502 ↑ +1

Desserialização de Dados Não Confiáveis

Deserialization of Untrusted Data

Score 5,23 com 11 KEV. Objeto desserializado de fonte não confiável executa código via magic methods ou gadgets.

5.23
KEV 11
A08
16 CWE-122 → mantido

Heap Buffer Overflow

Heap-based Buffer Overflow

Score 5,21. Overflow no heap — exploração via heap spraying e metadata corruption.

5.21
KEV 6
A10
17 CWE-863 ↑ +1

Autorização Incorreta

Incorrect Authorization

Score 4,14. Checagem existe mas está errada — lógica invertida, comparação == vs ===, role string case-sensitive, JWT cl…

4.14
KEV 4
A01
18 CWE-20 ↓ -6

Validação de Entrada Inadequada

Improper Input Validation

Score 4,09 — desceu 6 posições mas continua transversal. Raiz de quase toda injeção: validação ausente, incompleta ou ap…

4.09
KEV 2
A05A06
19 CWE-284 → mantido

Controle de Acesso Inadequado

Improper Access Control

Score 4,07. Política de acesso não restringe atores não autorizados — umbrella term que inclui RBAC mal configurado e AC…

4.07
KEV 1
A01
20 CWE-200 ↓ -3

Exposição de Informação Sensível

Exposure of Sensitive Information

Score 4,01. Resposta HTTP, log ou erro expõe PII, tokens, stack traces ou dados de outros usuários.

4.01
KEV 1
A02A09
21 CWE-306 ↑ +4

Autenticação Ausente

Missing Authentication

Score 3,47 com 11 KEV — subiu 4 posições. Função crítica acessível sem autenticação: admin panels, debug endpoints, APIs…

3.47
KEV 11
A07
22 CWE-918 ↓ -3

Server-Side Request Forgery (SSRF)

Server-Side Request Forgery

Score 3,36. Servidor faz HTTP request para URL controlada pelo atacante — acessa metadata cloud (169.254.169.254), Redis…

3.36
sem KEV
A01
23 CWE-77 ↓ -10

Injeção de Comando

Command Injection

Score 3,15 — desceu 10 posições mas ainda com 2 KEV. Generalização de injeção em interpreters de comando (não só OS shel…

3.15
KEV 2
A05
24 CWE-639 ↑ +6

Bypass de Autorização via Chave do Usuário

Authorization Bypass via User Key

Score 2,62 — subiu 6 posições. ID controlado pelo usuário (userId, accountId, basketId) usado na query sem validar owner…

2.62
sem KEV
A01
25 CWE-770 ↑ +1

Alocação Sem Limites

Allocation Without Limits

Score 2,54. Sem throttling: brute force de senha, account enumeration, resource exhaustion, expensive API calls ilimitad…

2.54
sem KEV
A06
§lab·setup

Juice Shop — setup

«Know it. Exploit it. Fix it.»

«OWASP Juice Shop is probably the most modern and sophisticated insecure web application! It can be used in security trainings, awareness demos, CTFs and as a guinea pig for security tools!» O setup abaixo sobe o ambiente em menos de 2 minutos — o trabalho começa no código-fonte.
Na prática
  • Docker: porta 3000 · Score Board em /#/score-board
  • Clone local: npm audit para A03
  • grep routes/ para achar SQLi e IDOR
Ponto-chave

Suba o lab antes de abrir a IDE — validação no terminal usa localhost:3000.

Menção · referência Menção · Treino prático

Aprender segurança exige quebrar coisas em ambiente controlado

Hunt defende labs intencionalmente vulneráveis como ponte entre teoria e reflexo profissional — o mesmo princípio do Juice Shop citado em treinamentos OWASP globais. Você não aprende IDOR lendo só a definição CWE-639.

— Troy Hunt · Have I Been Pwned

Após o docker compose, rode o Score Board e tente 3 challenges mapeados neste guia antes de seguir para a IDE.

Ponto-chave

Challenge resolvido = 1 evidência para o relatório técnico.

docker · deploy
$docker run --rm -p 3000:3000 bkimminich/juice-shop
http://localhost:3000
$docker compose up -d
Score Board em /#/score-board
source · audit
$git clone https://github.com/juice-shop/juice-shop.git && cd juice-shop
$npm install && npm audit --audit-level=moderate
! Dezenas de CVEs intencionais — correlacione com A03
$grep -r "sequelize.query" routes/ lib/
login.ts, search.ts — SQLi
§IDE·juice shop

IDE — correção ao vivo

Explorer à esquerda · compare no centro · terminal de validação embaixo · 19 arquivos vulneráveis do repositório oficial.

Selecione um arquivo do Juice Shop: o código vulnerável fica à esquerda com contexto completo do arquivo; clique Aplicar correção para a versão segura ser digitada à direita, lado a lado. Use Validar para rodar o exploit no terminal.

Citação OWASP Juice Shop

Vulnerabilidades intencionais com código de produção real

«Juice Shop is an intentionally insecure web application for security trainings written in Node.js, Express and Angular.» Os trechos em routes/ e lib/ são os mesmos padrões encontrados em auditorias reais — apenas concentrados em um repositório didático.
Ponto-chave

grep no clone local correlaciona achado de scanner com linha de código — prática recomendada antes do quiz.

Discussão Lab prático

Da vulnerabilidade ao patch verificável

Fluxo completo: reproduzir no terminal → entender root cause na IDE → aplicar correção digitada → validar que o exploit falha. Documente CWE, OWASP, arquivo e linha no relatório — mesmo formato de ticket Jira em time maduro.

Ponto-chave

Mínimo 3 labs documentados com evidência antes/depois.

routes/login.ts ● Vulnerável L34 GitHub →
Vulnerável
Correção — aplique o patch
TERMINAL · validação
§?·quiz

Quiz de verificação

Aprendizado Quiz

Quiz testa correlação, não memorização de ranking

Perguntas cruzam OWASP 2025 vs 2021, CWE em KEV e mapeamento Juice Shop. Errou? Volte ao modal da categoria, aba Casos ou Destaques, e refaça o lab correspondente.

Ponto-chave

Meta: 80%+ acertos antes de considerar o conteúdo assimilado.

Citação Quiz · Estudo de caso

«O que não é medido, não é aprendido»

O quiz não testa memorização — verifica se você consegue correlacionar OWASP, CWE, evidência de exploit e mitigação. Cada erro aponta para um lab específico nesta página.
Ponto-chave

Refaça o lab indicado antes de avançar — repetição com evidência fixa o conceito.

Carregando…