The OWASP Top 10:2025 groups common web-application risks into ten broad categories. It is an awareness map: it helps you notice areas a narrow list of attacks might miss. It is not a complete test plan, a measure of your own application's risk or a required reading order.
Categories can overlap. An access failure may also disclose information, while a supply-chain failure may introduce vulnerable code. Use the mechanism and impact to explain a mapping rather than treating a rank as proof. The supplied CSV connects the 2025 category names with relevant course lessons.
Before you begin
- Recommended first
- Notes: scope, command, result, time, HTTP methods, headers, status codes, cookies, How a web app is put together, Same-origin policy
- Estimated time
- 18 min reading, 14 min activity. Setup and optional practice may take longer.
- Where you work
- Read the original fictional source, object tables, token claims and policy models in any current desktop or mobile browser. No loader, template engine, provider registration, service or network request is required.
- Without a lab
- Follow the printed data through each stated rule on paper. Record the decision, its supporting fact and a limit, then compare with the guided rubric. Model reasoning does not establish a live tool result. Reading works without JavaScript. Checking requires JavaScript and a secure context; saving also requires usable storage.
After this lesson you can:
- Read the 2025 list as awareness, not as a lesson order.
- Connect one owned permission failure to the category the map gives it.
- Name a defense for one theme the attack titles do not finish.
01Example
This fresh mapping concerns a public diagnostic page, then the activity turns to software supply-chain evidence.
Observation in a fictional model: public diagnostics are enabled.
Mechanism: deployed settings expose internal details.
Map theme: Security Misconfiguration, A02:2025.
A category describes the concern; it does not verify a real application.02What moved, in the introduction's words
The 2025 map begins with Broken Access Control, Security Misconfiguration and Software Supply Chain Failures. Cryptographic Failures and Injection follow. Its remaining themes cover Insecure Design, Authentication Failures, Software or Data Integrity Failures, Security Logging and Alerting Failures, and Mishandling of Exceptional Conditions. Read the names alongside the concrete theme cards rather than memorizing statistics.
The 2025 introduction places SSRF within Broken Access Control; the course keeps its separate lesson to teach the backend-fetch boundary. It expands supply-chain coverage and emphasizes alerting and exceptional-condition handling. A local system still needs its own inventory, scope and evidence-based plan. Core server/client topics and this map prepare you to continue to Crypto and files and First CTF; the later advanced lessons remain part of full Web security completion.
Use the 2025 list as an awareness map, and tell a missing permission from a cryptographic failure.Model. A teaching model drawn by hand. It shows the idea, not real tool output.
Read the full explanation below.
Fictional observation
Observation in a fictional model: public diagnostics are enabled.Selected evidence · Original fictional teaching evidenceMechanism
Mechanism: deployed settings expose internal details.Selected evidence · Original fictional teaching evidenceSecurity Misconfiguration, A02:2025
The supplied mechanism fits the stated category.
A category describes concern; it does not verify a real application.
Original fictional teaching evidence
The supplied mechanism fits the stated category. A category describes concern; it does not verify a real application.
Follow the explanation
- The supplied mechanism fits the stated category. A category describes concern; it does not verify a real application.
- The record is explicitly a fictional model. No real application was tested.
Read every state and value
1. The supplied mechanism fits the stated category. A category describes concern; it does not verify a real application.
- Evidence selected
- Fictional observation · Mechanism
- Current claim
- theme
- Source origins
- Original fictional teaching evidence
2. The record is explicitly a fictional model. No real application was tested.
- Evidence selected
- Fictional observation
- Current claim
- real
- Source origins
- Original fictional teaching evidence
03Cover one missing theme
Read the evidence before comparing with the activity rubric. Use the cards. Do not treat the list as a scan.
rank,id,name,lesson_link
1,A01:2025,Broken Access Control,access-control
2,A02:2025,Security Misconfiguration,security-misconfiguration
3,A03:2025,Software Supply Chain Failures,missing-theme card supply
4,A04:2025,Cryptographic Failures,cryptographic protection
5,A05:2025,Injection,sql-injection xss command-injection
6,A06:2025,Insecure Design,business-logic
7,A07:2025,Authentication Failures,authentication-failures
8,A08:2025,Software or Data Integrity Failures,missing-theme card integrity
9,A09:2025,Security Logging and Alerting Failures,missing-theme card logging
10,A10:2025,Mishandling of Exceptional Conditions,information-disclosure and race-conditions
Themes the attack titles do not finish. Original miniatures.
Supply
The app loads pay.py from a third-party build.
Defense on the card: obtain the artifact through a trusted source, record its exact version, and compare a checksum with a trusted expected value. A checksum supplied beside a replaceable file is not an authenticity guarantee.
This stage does not teach how to audit a registry.
Integrity of an artifact
A saved object is loaded because the file name looks familiar.
Defense on the card: load only a constrained data format and check its shape.
The deserialization lesson continues this theme.
Logging
A forbidden read returns and no operator record is written.
Defense on the card: write the caller, the object, the decision, and the time, and alert on a burst of forbidden reads.
The log must not contain the fictional secrets from the disclosure lesson.
Exception
A public error includes a secret so that debugging is faster.
Defense on the card: the public body keeps a safe message and reference id. Restricted diagnostics retain appropriate context but omit or redact secrets.
- Read the supply card. Write the defense it gives for a third-party build of pay.py.
- Read the logging card and the exception card. Notice that the log must not contain the fictional secrets from the disclosure lesson.
- Rubric: record the exact version and compare against a trusted expected checksum obtained through an appropriate source. Explain why a checksum beside a replaceable file is insufficient.
- Stop. This stage does not audit a package registry.
04Optional challenge
Write one sentence each for the integrity card, the logging card, and the exception card. The rubric is: a constrained format, a log line with caller, object, decision, and time plus an alert, and a public reference id. About ten minutes.
05Fresh cases for the checks
Use these fictional cases for the checks below. They have different inputs from the worked examples. Read them here or make notes; no installation or external service is needed.
Awareness case A: supplied part of the 2025 mapOwned fixture. An original file made for this course. Follow the activity's instructions in your own lab.
A01:2025 Broken Access Control: failures to enforce permitted object/action access.
A02:2025 Security Misconfiguration: deployed settings expose unnecessary diagnostic behavior.
A09:2025 Security Logging and Alerting Failures: important denied actions lack useful records or alerts.
Fresh observations:
P: a private note is returned to a signed-in non-owner despite an owner-only rule.
Q: public diagnostics remain enabled by deployment settings.
R: repeated forbidden reads leave no operator record or alert.
Awareness case B: independent supply-chain miniatureOwned fixture. An original file made for this course. Follow the activity's instructions in your own lab.
An application obtains a third-party package for its build.
Needed evidence: a trusted source, the exact version and a checksum compared with a trusted expected value.
A checksum beside a replaceable file is not alone an authenticity guarantee.
No package is downloaded or audited.
06Explain your evidence
Optional written self-check: explain one decision using the supplied case. No tool run is required.
Check your explanation: map evidence using the supplied awareness descriptions; express the actual failed requirement; propose a theme-specific defense; explain why a ranked list is neither a lesson order nor a complete test plan.
07Common mistakes
If you treat the rank as the lesson order, you skipped the opening. The map is awareness.
If you drop the SSRF lesson because A01 mentions it, the course still keeps that lesson.
If you call the list a finished test plan, the introduction says categories overlap and the data looks backward.
References
- OWASP Top 10:2025 introduction
The 2025 categories, methodology, renames and consolidation of SSRF. An awareness list does not replace a scoped assessment.