Cyber Security OWASP Top 10
The OWASP Top 10 is a regularly updated, community-researched ranking of the most critical security risks facing web applications, used as a shared checklist for developers, testers, and security teams.
What Is OWASP, and What Is the Top 10?
OWASP (the Open Worldwide Application Security Project) is a nonprofit community that produces free, vendor-neutral security resources. Its best-known project is the OWASP Top 10, a document that ranks the most critical risks to web applications based on large-scale data contributed by security firms combined with a survey of practitioners. It isn't a law or a certification — it's an awareness document meant to give teams a common vocabulary and a starting checklist. The list is periodically revised as attack patterns and defenses change; the categories below reflect the 2021 edition, the most recent full revision at the time of writing.
A Closer Look: Broken Access Control
Broken Access Control tops the list because it's both common and easy to trigger. A classic example is an 'insecure direct object reference': an invoice URL like /invoices/1042 works fine, but changing it to /invoices/1043 shows someone else's invoice because the server never checked whether the logged-in user actually owns record 1043 — it only checked that the user was logged in at all. The fix is always the same: authorization checks must run on the server for every request that touches a specific resource, using the identity of the current user, not just whatever ID appears in the request.
Example: Injection via String-Built SQL
// VULNERABLE: user input is concatenated directly into SQL
const query = "SELECT * FROM users WHERE email = '" + email + "'";
db.query(query);
// an attacker submitting ' OR '1'='1 changes the query's meaning entirely
// FIXED: parameterized query keeps data separate from code
const query = "SELECT * FROM users WHERE email = ?";
db.query(query, [email]);Using the Top 10 in Practice
The list works best as a lens, not a finish line. Passing a Top-10-focused scan doesn't mean an application is secure — it means the ten most common categories of mistake have been checked for. Teams typically use it to structure secure-coding training, to shape what a code review or penetration test looks for, and to prioritize which fixes to tackle first when a scanner reports dozens of findings at once.
- Use it as a checklist during design and code review, not only during testing.
- Map automated scanner and pentest findings back to these categories to spot systemic gaps.
- Pair it with framework-specific guidance — the Top 10 tells you what to worry about, not how your particular language or framework prevents it.
- Revisit training materials whenever a new edition is published.
Exercise: Cyber Security Application Security
What is SQL injection?