Understanding the OWASP Top 10 for Website Owners (Not Just Developers)
The OWASP Top 10 gets cited constantly in security conversations, usually in developer language. If you own a website but didn't build it yourself, here's what each category actually means for you in practice.
What It Is
The OWASP Top 10 is a periodically-updated list, maintained by the Open Worldwide Application Security Project, ranking the most common and impactful categories of web application vulnerability. It's not a checklist of specific bugs - it's a set of categories that most real-world vulnerabilities fall into, used industry-wide as a shared reference point.
The Categories, In Plain Terms
- Broken Access Control - a user can do or see something they shouldn't, usually by changing an ID in a URL or a request parameter and reaching another user's data or an admin-only action.
- Cryptographic Failures - sensitive data (passwords, payment info, personal data) stored or transmitted without proper encryption.
- Injection - user input gets executed as code instead of treated as data - SQL injection and cross-site scripting (XSS) are the best-known examples.
- Insecure Design - a flaw baked into how a feature was architected, not a coding mistake - no amount of careful implementation fixes a fundamentally unsafe design.
- Security Misconfiguration - a setting left at an insecure default: verbose error pages in production, missing security headers, an overly permissive CORS policy.
- Vulnerable and Outdated Components - a known CVE sitting in a dependency your app relies on, direct or transitive.
- Identification and Authentication Failures - weak session management, predictable session tokens, or login flows that don't protect against credential stuffing.
- Software and Data Integrity Failures - trusting a third-party script, plugin, or update without verifying it hasn't been tampered with (this is exactly what Subresource Integrity defends against).
- Security Logging and Monitoring Failures - a breach that goes undetected for months because nothing was watching for the signs.
- Server-Side Request Forgery (SSRF) - an attacker tricks your server into making a request to an internal system it shouldn't be able to reach from the outside.
Why This List Matters if You Didn't Write the Code
You don't need to read source code to be affected by most of these - a security scan against your live site surfaces the externally observable symptoms of several categories directly: missing security headers and weak CORS policy (Security Misconfiguration), outdated software versions leaked in response headers (Vulnerable Components), missing CSRF tokens and cookie flags (Authentication Failures and adjacent issues), and unencrypted form submissions (Cryptographic Failures).
Injection and Broken Access Control are harder to catch from the outside without active testing - submitting known SQL injection or XSS payloads through visible forms and checking for a reflected or error-revealing response, which is part of what a more thorough scan attempts alongside the passive header/config checks.
What This List Doesn't Cover
The Top 10 is deliberately a top-level category list, not exhaustive - a specific business-logic flaw (a discount code that can be applied unlimited times, for example) doesn't map cleanly onto any single category but is still a real vulnerability. Treat the list as a shared vocabulary for talking about risk, not a complete checklist that guarantees safety once satisfied.
Related reading
How to Fix CORS Misconfiguration
Why a wildcard Access-Control-Allow-Origin combined with credentials is a critical exposure, and how to scope CORS to only the origins that actually need it.
How to Fix Missing CSRF Protection
Why a state-changing POST form with no CSRF token lets any other site submit it on a logged-in user's behalf, and how to add token-based protection without breaking legitimate submissions.
How to Fix Common Form Security Issues
Login forms that submit over HTTP, credentials sent via GET, autocomplete left on for password fields - the small form mistakes that add up to real exposure, and how to fix each one.
Scanverra vs. OWASP ZAP
A free, open-source DAST (dynamic application security testing) proxy for actively probing a running web app for vulnerabilities - no hosted dashboard, no pricing.
Find out which headers you're missing
Run a free security scan and get a plain-English breakdown of every header, cert, and exposed secret.
Run a free security scan