OWASP Top 10 — The Most Critical Web Application Risks

A concept-level map of the OWASP Top 10 web application security risks — what each category means, a typical example, and the key mitigation — with pointers to the attack write-ups and lab notes.

The OWASP Top 10 is a community-maintained awareness document listing the most critical security risks to web applications. It is not a standard or a checklist of every possible bug; it is a ranked list of risk categories, refreshed every few years from vulnerability data contributed by security firms and a community survey. Developers use it to prioritise secure coding, testers use it to structure assessments, and many compliance programmes reference it.

This page is the concept layer. The individual attack techniques (injection, XSS, CSRF, SSRF, traversal) are explained once in Application Attacks. Step-by-step labs live in the TryHackMe notes linked at the end.


OWASP Top 10:2021

#CategoryWhat it meansTypical exampleKey mitigation
A01Broken Access ControlUsers can act outside their intended permissionsChanging ?id=1001 to ?id=1002 to read someone else's order (IDOR)Enforce authorisation server-side on every request; deny by default
A02Cryptographic FailuresSensitive data is not protected, or weak crypto is usedPasswords stored as unsalted MD5; traffic over plain HTTPTLS everywhere; strong algorithms; proper key management; modern password hashing
A03InjectionUntrusted input is interpreted as code or commandsSQL injection, OS command injection, XSSParameterised queries; input validation; output encoding
A04Insecure DesignThe design itself lacks security controls (not an implementation bug)A password-reset flow with no rate limit or identity checkThreat modelling; secure design patterns; abuse-case testing
A05Security MisconfigurationInsecure defaults, unnecessary features, verbose errorsDefault admin credentials; directory listing enabled; stack traces shown to usersHardened baselines; remove unused features; automated config review
A06Vulnerable and Outdated ComponentsUsing libraries or platforms with known flawsAn unpatched framework with a public CVEInventory dependencies; patch regularly; software composition analysis
A07Identification and Authentication FailuresWeak login, session, or credential handlingNo lockout on login; guessable session IDs; credential stuffing succeedsMFA; rate limiting; secure session management; breached-password checks
A08Software and Data Integrity FailuresCode or data is trusted without verifying integrityAuto-updates without signature checks; insecure deserialisationSigned artefacts; verified pipelines; avoid deserialising untrusted data
A09Security Logging and Monitoring FailuresAttacks cannot be detected or investigatedFailed logins not logged; no alerting on suspicious activityLog security events centrally; alert; retain logs; test detection
A10Server-Side Request Forgery (SSRF)The server is tricked into making requests on the attacker's behalfA URL-fetch feature used to reach internal metadata servicesAllow-list outbound destinations; block internal ranges; segment the network

How the categories map to attack write-ups

OWASP categoryWhere the technique is explained
A01 Broken Access ControlParameter tampering and directory traversal in Application Attacks
A03 InjectionInjection flaws and Cross-Site Scripting in Application Attacks
A10 SSRFServer-Side Request Forgery in Application Attacks
A02 Cryptographic FailuresCryptography Fundamentals, Cryptographic Solutions
A06 Vulnerable ComponentsVulnerability and Patch Management
A09 Logging and MonitoringSIEM and Log Management

OWASP Top 10:2025 — What Changed

The TryHackMe study notes for the 2025 edition describe the following categories, with the labels used there:

Category (2025 notes)Note
Broken Access ControlStill first
Security MisconfigurationMoved up relative to 2021
Software Supply Chain FailuresBroader than "Vulnerable and Outdated Components"; the SolarWinds compromise is the cited example
Cryptographic FailuresRetained
InjectionRetained
Insecure DesignRetained
Authentication FailuresRenamed from "Identification and Authentication Failures"
Software or Data Integrity FailuresRetained
Logging and Alerting FailuresRenamed from "Logging and Monitoring Failures"

The notes group these into three themes — application design flaws, identity/authentication/authorisation failures, and insecure data handling — and describe nine categories. Verify the complete and current ranking on the official OWASP site before citing it, as the list is revised periodically.

The shift that matters most in practice: supply chain risk is now treated as its own category, reflecting incidents where a trusted vendor or dependency was the entry point rather than the application's own code.


Using the Top 10 well

  • It is a starting point, not a ceiling. Passing a "Top 10" review does not make an application secure.
  • Map findings to categories in pentest and code-review reports so developers can see patterns, not just individual bugs.
  • Shift left. Most categories are cheaper to fix at design and coding time. See Secure Software Development.
  • Test continuously. Combine automated scanning with manual testing and a proxy tool for the logic flaws scanners miss.