5 exercises — injection, broken auth, IDOR, security misconfiguration — communicating OWASP Top 10 vulnerabilities in English. Intermediate
0 / 30 completed
1 / 30
A security engineer says: "This endpoint is vulnerable to injection because user input is interpolated directly into the SQL query."
Which OWASP Top 10 category does this finding reflect?
Injection (A03 in OWASP Top 10 2021, formerly A01) occurs when untrusted data is sent to an interpreter as part of a command or query.
OWASP Category
Key signal
Classic example
Injection
Input interpolated into a query or command
SQL injection, command injection, LDAP injection
Broken Authentication
Weak session management, password handling
Credential stuffing, session fixation
Security Misconfiguration
Default credentials, debugging enabled in production
Debug endpoints exposed, S3 bucket public
IDOR
Direct reference to internal objects without authorisation check
/api/invoice/1042 accessible by any user
Key vocabulary:
Interpolated directly — user input inserted into a string that becomes a SQL command without escaping or parameterisation
Untrusted input — data originating from user-controlled sources that cannot be trusted to be safe
Parameterised query (prepared statement) — the mitigation: bind user input as typed parameters, never as SQL text
2 / 30
An API review note reads: "The API returns data from the database by using the user-supplied customer ID directly, without checking that the requesting user owns that record."
Which vulnerability does this describe?
BOLA (Broken Object Level Authorisation), also known as IDOR (Insecure Direct Object Reference), is OWASP API Security Top 10 #1.
Term
Meaning
BOLA
Broken Object Level Authorisation — the OWASP API Security term
IDOR
Insecure Direct Object Reference — the classic OWASP Web Top 10 term for the same pattern
Horizontal privilege escalation
Attacker accesses another user's data at the same privilege level (not admin escalation)
Authorisation check missing
The server fetches the resource but does not verify resource.ownerId === currentUser.id
Root cause: The API trusts the client-supplied ID rather than scoping queries to the authenticated user. Fix: always add an ownership check before returning any resource.
A security reviewer writes: "The server returns a full stack trace including database schema details in 500 errors, and is running an unpatched version of nginx with debugging enabled in production."
Which OWASP Top 10 category covers this finding?
Security Misconfiguration (A05 in OWASP 2021) covers all of these signals: verbose error output, debugging enabled in production, and unpatched 3rd-party software.
Signal in finding
Security Misconfiguration sub-type
Full stack trace in 500 errors
Verbose error messages — information disclosure through misconfigured error handling
Database schema details exposed
Sensitive internal data leaked through error pages — aids attacker reconnaissance
Debugging enabled in production
Unnecessary features enabled — debug endpoints, verbose logging, test pages
Unpatched nginx version
Vulnerable Components — also covered by A06 "Vulnerable and Outdated Components"
A new team member asks: "What exactly is the OWASP Top 10?"
Which answer is most accurate?
The OWASP Top 10 is a community-driven awareness document, not a checklist, certification, or scoring system.
OWASP — Open Web Application Security Project: a non-profit foundation producing free, open security resources
Top 10 purpose — raise awareness of the most critical risks; often used as a baseline for application security requirements
Not a certification — OWASP produces certifications separately (e.g., OSCP is from Offensive Security, not OWASP)
Not a scoring system — severity scoring is done by CVSS (Common Vulnerability Scoring System)
Updated periodically — major versions in 2010, 2013, 2017, 2021; categories shift based on data from thousands of organisations
How it is used in practice: Product security requirements ("our application must have no OWASP Top 10 vulnerabilities"), developer training, and as a reference in security assessments and audits.
5 / 30
A bug report reads: "The vulnerability allows an attacker to inject malicious scripts into web pages viewed by other users."
Which vulnerability does this describe?
XSS (Cross-Site Scripting) = injecting malicious client-side scripts into pages viewed by other users.
Database server — reads, modifies, or deletes data
CSRF
Forged HTTP requests
Victim's authenticated session — performs actions as the user
RCE
Arbitrary code / exploits
Server-side — attacker gains control of the server process
XSS types: Stored XSS (payload saved in database, served to all users); Reflected XSS (payload in URL, reflected back in response); DOM-based XSS (payload manipulates the DOM client-side).
Liam (Senior Developer) comments on a PR:
"I've added some basic input validation to the `create_user` endpoint. We're now checking that the entered password meets minimum length requirements and includes at least one uppercase letter. However, I haven't implemented any rate limiting – just in case someone tries to brute-force the passwords."
Rate limiting is crucial in mitigating brute-force attacks. While basic input validation is a step in the right direction, without controlling the *rate* of requests, an attacker could repeatedly attempt to guess passwords. The question focuses on proactively preventing malicious activity rather than simply reacting to it after an attack has commenced.
7 / 30
Sarah (Security Analyst) sends a Slack message:
"Hey team, I noticed that our authentication service is returning a 403 error for requests with invalid tokens. It appears the system isn't properly sanitizing the token before validating it against the database – an attacker could potentially craft a malicious token to bypass access controls."
Broken Authentication vulnerabilities occur when authentication mechanisms fail to properly validate credentials or tokens. An attacker exploiting this flaw can bypass security controls and gain unauthorized access. The description focuses on how a malicious token could be used to circumvent access restrictions, a core element of this vulnerability.
8 / 30
David (DevOps Engineer) writes in a PR description:
"I've updated the web server configuration to include detailed error logs. This will help us diagnose issues more quickly and provide valuable information for debugging."
Detailed error logs, especially those containing stack traces or database schema information, can be a significant security risk. Attackers can leverage this information to understand the application's architecture and identify potential vulnerabilities. While helpful for debugging, exposing such details in production environments increases the attack surface.
9 / 30
Maria (Lead Developer) is presenting to a new team member:
"The OWASP Top 10 is a curated list of the most critical security risks facing web applications. It's designed to help developers prioritize their efforts in securing their software."
The *OWASP Top 10* is fundamentally a prioritization tool. It's not a detailed technical specification, but rather a ranked list of the most impactful vulnerabilities that developers should address first. Understanding this core function – prioritization – is key to using the Top 10 effectively.
10 / 30
Ben (Junior Developer) reports a bug:
"The application allows an attacker to upload a malicious JavaScript file that executes automatically when other users visit the affected page. This is causing significant disruption and potentially compromising user data."
Cross-Site Scripting (XSS) vulnerabilities occur when untrusted data is injected into a web page and executed by the user's browser. The scenario clearly describes an attacker injecting JavaScript code that runs in the context of other users' sessions, allowing them to perform malicious actions.
11 / 30
Liam (Senior Developer) comments on a PR:
"I've added some basic input validation to the `create_user` endpoint. We're now checking that the entered password meets minimum length requirements and includes at least one uppercase letter. However, I haven't implemented any rate limiting – just in case someone tries to brute-force the passwords."
Rate limiting is crucial in mitigating brute-force attacks. While basic input validation is a step in the right direction, without controlling the *rate* of requests, an attacker could repeatedly attempt to guess passwords. The question focuses on proactively preventing malicious activity rather than simply reacting to it after an attack has commenced.
12 / 30
Sarah (Security Analyst) sends a Slack message:
"Hey team, I noticed that our authentication service is returning a 403 error for requests with invalid tokens. It appears the system isn't properly sanitizing the token before validating it against the database – an attacker could potentially craft a malicious token to bypass access controls."
Broken Authentication vulnerabilities occur when authentication mechanisms fail to properly validate credentials or tokens. An attacker exploiting this flaw can bypass security controls and gain unauthorized access. The description focuses on how a malicious token could be used to circumvent access restrictions, a core element of this vulnerability.
13 / 30
David (DevOps Engineer) writes in a PR description:
"I've updated the web server configuration to include detailed error logs. This will help us diagnose issues more quickly and provide valuable information for debugging."
Detailed error logs, especially those containing stack traces or database schema information, can be a significant security risk. Attackers can leverage this information to understand the application's architecture and identify potential vulnerabilities. While helpful for debugging, exposing such details in production environments increases the attack surface.
14 / 30
Maria (Lead Developer) is presenting to a new team member:
"The OWASP Top 10 is a curated list of the most critical security risks facing web applications. It's designed to help developers prioritize their efforts in securing their software."
The *OWASP Top 10* is fundamentally a prioritization tool. It's not a detailed technical specification, but rather a ranked list of the most impactful vulnerabilities that developers should address first. Understanding this core function – prioritization – is key to using the Top 10 effectively.
15 / 30
Ben (Junior Developer) reports a bug:
"The application allows an attacker to upload a malicious JavaScript file that executes automatically when other users visit the affected page. This is causing significant disruption and potentially compromising user data."
Cross-Site Scripting (XSS) vulnerabilities occur when untrusted data is injected into a web page and executed by the user's browser. The scenario clearly describes an attacker injecting JavaScript code that runs in the context of other users' sessions, allowing them to perform malicious actions.
16 / 30
Liam (Senior Developer) comments on a PR:
"I've added some basic input validation to the `create_user` endpoint. We're now checking that the entered password meets minimum length requirements and includes at least one uppercase letter. However, I haven't implemented any rate limiting – just in case someone tries to brute-force the passwords."
Rate limiting is crucial in mitigating brute-force attacks. While basic input validation is a step in the right direction, without controlling the *rate* of requests, an attacker could repeatedly attempt to guess passwords. The question focuses on proactively preventing malicious activity rather than simply reacting to it after an attack has commenced.
17 / 30
Sarah (Security Analyst) sends a Slack message:
"Hey team, I noticed that our authentication service is returning a 403 error for requests with invalid tokens. It appears the system isn't properly sanitizing the token before validating it against the database – an attacker could potentially craft a malicious token to bypass access controls."
Broken Authentication vulnerabilities occur when authentication mechanisms fail to properly validate credentials or tokens. An attacker exploiting this flaw can bypass security controls and gain unauthorized access. The description focuses on how a malicious token could be used to circumvent access restrictions, a core element of this vulnerability.
18 / 30
David (DevOps Engineer) writes in a PR description:
"I've updated the web server configuration to include detailed error logs. This will help us diagnose issues more quickly and provide valuable information for debugging."
Detailed error logs, especially those containing stack traces or database schema information, can be a significant security risk. Attackers can leverage this information to understand the application's architecture and identify potential vulnerabilities. While helpful for debugging, exposing such details in production environments increases the attack surface.
19 / 30
Maria (Lead Developer) is presenting to a new team member:
"The OWASP Top 10 is a curated list of the most critical security risks facing web applications. It's designed to help developers prioritize their efforts in securing their software."
The *OWASP Top 10* is fundamentally a prioritization tool. It's not a detailed technical specification, but rather a ranked list of the most impactful vulnerabilities that developers should address first. Understanding this core function – prioritization – is key to using the Top 10 effectively.
20 / 30
Ben (Junior Developer) reports a bug:
"The application allows an attacker to upload a malicious JavaScript file that executes automatically when other users visit the affected page. This is causing significant disruption and potentially compromising user data."
Cross-Site Scripting (XSS) vulnerabilities occur when untrusted data is injected into a web page and executed by the user's browser. The scenario clearly describes an attacker injecting JavaScript code that runs in the context of other users' sessions, allowing them to perform malicious actions.
21 / 30
Liam (Senior Developer) comments on a PR:
"I've added some basic input validation to the `create_user` endpoint. We're now checking that the entered password meets minimum length requirements and includes at least one uppercase letter. However, I haven't implemented any rate limiting – just in case someone tries to brute-force the passwords."
Rate limiting is crucial in mitigating brute-force attacks. While basic input validation is a step in the right direction, without controlling the *rate* of requests, an attacker could repeatedly attempt to guess passwords. The question focuses on proactively preventing malicious activity rather than simply reacting to it after an attack has commenced.
22 / 30
Sarah (Security Analyst) sends a Slack message:
"Hey team, I noticed that our authentication service is returning a 403 error for requests with invalid tokens. It appears the system isn't properly sanitizing the token before validating it against the database – an attacker could potentially craft a malicious token to bypass access controls."
Broken Authentication vulnerabilities occur when authentication mechanisms fail to properly validate credentials or tokens. An attacker exploiting this flaw can bypass security controls and gain unauthorized access. The description focuses on how a malicious token could be used to circumvent access restrictions, a core element of this vulnerability.
23 / 30
David (DevOps Engineer) writes in a PR description:
"I've updated the web server configuration to include detailed error logs. This will help us diagnose issues more quickly and provide valuable information for debugging."
Detailed error logs, especially those containing stack traces or database schema information, can be a significant security risk. Attackers can leverage this information to understand the application's architecture and identify potential vulnerabilities. While helpful for debugging, exposing such details in production environments increases the attack surface.
24 / 30
Maria (Lead Developer) is presenting to a new team member:
"The OWASP Top 10 is a curated list of the most critical security risks facing web applications. It's designed to help developers prioritize their efforts in securing their software."
The *OWASP Top 10* is fundamentally a prioritization tool. It's not a detailed technical specification, but rather a ranked list of the most impactful vulnerabilities that developers should address first. Understanding this core function – prioritization – is key to using the Top 10 effectively.
25 / 30
Ben (Junior Developer) reports a bug:
"The application allows an attacker to upload a malicious JavaScript file that executes automatically when other users visit the affected page. This is causing significant disruption and potentially compromising user data."
Cross-Site Scripting (XSS) vulnerabilities occur when untrusted data is injected into a web page and executed by the user's browser. The scenario clearly describes an attacker injecting JavaScript code that runs in the context of other users' sessions, allowing them to perform malicious actions.
26 / 30
Liam (Senior Developer) comments on a PR:
"I've added some basic input validation to the `create_user` endpoint. We're now checking that the entered password meets minimum length requirements and includes at least one uppercase letter. However, I haven't implemented any rate limiting – just in case someone tries to brute-force the passwords."
Rate limiting is crucial in mitigating brute-force attacks. While basic input validation is a step in the right direction, without controlling the *rate* of requests, an attacker could repeatedly attempt to guess passwords. The question focuses on proactively preventing malicious activity rather than simply reacting to it after an attack has commenced.
27 / 30
Sarah (Security Analyst) sends a Slack message:
"Hey team, I noticed that our authentication service is returning a 403 error for requests with invalid tokens. It appears the system isn't properly sanitizing the token before validating it against the database – an attacker could potentially craft a malicious token to bypass access controls."
Broken Authentication vulnerabilities occur when authentication mechanisms fail to properly validate credentials or tokens. An attacker exploiting this flaw can bypass security controls and gain unauthorized access. The description focuses on how a malicious token could be used to circumvent access restrictions, a core element of this vulnerability.
28 / 30
David (DevOps Engineer) writes in a PR description:
"I've updated the web server configuration to include detailed error logs. This will help us diagnose issues more quickly and provide valuable information for debugging."
Detailed error logs, especially those containing stack traces or database schema information, can be a significant security risk. Attackers can leverage this information to understand the application's architecture and identify potential vulnerabilities. While helpful for debugging, exposing such details in production environments increases the attack surface.
29 / 30
Maria (Lead Developer) is presenting to a new team member:
"The OWASP Top 10 is a curated list of the most critical security risks facing web applications. It's designed to help developers prioritize their efforts in securing their software."
The *OWASP Top 10* is fundamentally a prioritization tool. It's not a detailed technical specification, but rather a ranked list of the most impactful vulnerabilities that developers should address first. Understanding this core function – prioritization – is key to using the Top 10 effectively.
30 / 30
Ben (Junior Developer) reports a bug:
"The application allows an attacker to upload a malicious JavaScript file that executes automatically when other users visit the affected page. This is causing significant disruption and potentially compromising user data."
Cross-Site Scripting (XSS) vulnerabilities occur when untrusted data is injected into a web page and executed by the user's browser. The scenario clearly describes an attacker injecting JavaScript code that runs in the context of other users' sessions, allowing them to perform malicious actions.
What will I learn from the "OWASP Top 10 Vocabulary | Security Lab Exercises" exercise?
Practice OWASP Top 10 vocabulary: injection, broken authentication, BOLA/IDOR, security misconfiguration, XSS. 5 intermediate exercises for developers and security engineers.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall required.
How many questions are in this exercise?
This set contains 30 multiple-choice questions, each with a detailed explanation shown after you answer.
Do I need to create an account to track my progress?
No account is required. Your progress bar and score reset each time you reload the page, but you can retry the exercise as many times as you like.
Who is this Security Lab exercise for?
This exercise is built for IT professionals and non-native English speakers who need to read, write, and discuss security lab topics confidently at work.
What happens if I answer a question incorrectly?
You will see the correct answer highlighted along with a detailed explanation of why it is correct -- so every wrong answer becomes a learning moment, not just a lost point.
Can I retry this exercise?
Yes -- click "Try again" on the results screen at any time to reset your score and go through all the questions again.
How long does this exercise take to complete?
Most learners finish all 30 questions in under 10 minutes, since each question is answered by clicking a single option.
Where can I find more Security Lab exercises?
See the full Security Lab exercises hub for more vocabulary drills on this topic.
Is this exercise mobile-friendly?
Yes -- the exercise works on any device with a modern browser, including phones and tablets, with no app download required.