Skip to main content

01. Overview & Threat Landscape

The Open Web Application Security Project (OWASP) Top 10 represents the globally recognized standard awareness document for application security. Understanding how vulnerabilities arise and how to systematically detect them throughout the software development lifecycle (SDLC) is the first step toward building resilient web applications.


[!IMPORTANT] Shift-Left Philosophy: Fixing a security flaw during design or coding costs up to 30x less than remediating a breach in production. Early integration of security controls into CI/CD pipelines is critical.


1. The OWASP Risk Evaluation Methodology

OWASP ranks vulnerabilities using a multi-factor risk rating methodology. Each category is assessed across four primary criteria:

  1. Exploitability (Likelihood): How accessible and easy is it for an attacker to craft a working payload?
  2. Prevalence: How frequently is this flaw detected across millions of audited real-world applications?
  3. Detectability: How easily can automated tools or human code reviewers uncover the vulnerability?
  4. Technical & Business Impact: What level of damage occurs upon successful exploitation (e.g., full system compromise, data leak, financial loss)?

OWASP 2021 Top 10 Risk Matrix & CWE Mapping

RankCategory NamePrimary Root CauseCore CWEsDetectabilityImpact
A01Broken Access ControlMissing server-side authorizationCWE-200, CWE-639ModerateCritical
A02Cryptographic FailuresWeak algorithms / unencrypted dataCWE-259, CWE-327EasyHigh
A03InjectionConcatenating untrusted data into interpretersCWE-89, CWE-78EasyCritical
A04Insecure DesignArchitectural security gaps & logic flawsCWE-209, CWE-256DifficultHigh
A05Security MisconfigurationUnhardened defaults, verbose error logsCWE-16, CWE-611EasyMedium
A06Vulnerable ComponentsOutdated third-party dependenciesCWE-1104, CWE-937EasyHigh
A07Identification & Auth FailuresWeak session management / weak passwordsCWE-287, CWE-384ModerateHigh
A08Software & Data IntegrityUnsigned updates, insecure CI/CD pipelinesCWE-502, CWE-829ModerateCritical
A09Security Logging & MonitoringMissing audit logs & alert triggersCWE-778, CWE-117DifficultMedium
A10Server-Side Request ForgeryServer fetches user-controlled URLsCWE-918ModerateHigh

2. Fundamental Root Causes of Application Flaws

Virtually all application-level security vulnerabilities stem from three core software design mistakes:

A. Implicit Trust in User Input

Developers frequently assume data received via GET parameters, POST request bodies, HTTP headers (User-Agent, Referer, Host), or cookies is safe. Rule of zero trust: All data originating from outside the application boundary must be treated as hostile until strictly validated.

B. Lack of Server-Side Enforcement

Relying on client-side controls (e.g., hiding HTML elements, restricting inputs in HTML forms, or client-side JavaScript checks) offers zero security. Attackers bypass client-side validation using tools like Burp Suite, OWASP ZAP, or curl. Server-side validation and authorization are mandatory.

C. Insecure Defaults & System Misconfigurations

Deploying applications with default configuration settings (e.g., admin passwords, enabled debug flags, verbose error messages exposing stack traces) creates immediate vectors for automated exploitation.


3. DevSecOps & Shift-Left Tooling Pipeline

Modern application security integrates automated security gates directly into the CI/CD pipeline.

Security Testing Categories

  1. SAST (Static Application Security Testing):

    • Mechanism: Analyzes source code without execution. Builds Abstract Syntax Trees (AST) and data-flow graphs to identify taint propagation (e.g., untrusted input flowing into SQL queries).
    • Tools: Semgrep, SonarQube, CodeQL, Bandit (Python), SpotBugs (Java).
  2. SCA (Software Composition Analysis):

    • Mechanism: Scans manifest files (package.json, requirements.txt, pom.xml, go.mod) against vulnerability databases (NVD, GitHub Security Advisory).
    • Tools: Trivy, OWASP Dependency-Check, Snyk, npm audit.
  3. DAST (Dynamic Application Security Testing):

    • Mechanism: Interrogates running applications over HTTP/HTTPS, sending malicious payloads to discover runtime vulnerabilities (e.g., SQLi, XSS, CORS misconfigurations).
    • Tools: OWASP ZAP, Burp Suite Enterprise, Nuclei.
  4. Secret Scanning:

    • Mechanism: Detects hardcoded API keys, private RSA keys, and passwords before code reaches remote repositories.
    • Tools: Gitleaks, Trufflehog, Git-secrets.

4. Threat Modeling with STRIDE

Aligning the OWASP Top 10 with the STRIDE threat model helps security teams identify architectural threats early during design phases:

STRIDE Threat CategoryOWASP Top 10 MappingPrimary Mitigation Strategy
Spoofing (Identity)A07: Auth & ID FailuresStrong MFA, OAuth 2.0 / OIDC, secure session tokens
Tampering (Data Integrity)A03: Injection / A08: Software IntegrityParameterized queries, cryptographic signatures (HMAC), input sanitization
Repudiation (Action Denial)A09: Security Logging FailuresImmutable audit logging, centralized SIEM (Elastic/Splunk)
Information DisclosureA01: Broken Access Control / A02: CryptoServer-side authorization (RBAC/ABAC), TLS 1.3, AES-256-GCM
Denial of ServiceA04: Insecure Design / A05: MisconfigRate limiting (Token Bucket / Redis), input length limits
Elevation of PrivilegeA01: Broken Access ControlPrinciple of Least Privilege, server-side context validation

[!TIP] Best Practice: Combine SAST for fast feedback on every pull request, SCA for continuous dependency vulnerability monitoring, and DAST on staging environments before production releases.


Next Chapter: 02. A01: Broken Access Control & IDOR →

Share this guide