OWASP Top 10 2023 Flashcards

1
Q

A01

A

Broken Access Control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

A02

A

Cryptographic Failures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A03

A

Injection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A04

A

Insecure Design

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

A05

A

Security Misconfiguration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A06

A

Vulnerable and Outdated Components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A07

A

Identification and Authentication Failures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A08

A

Software and Data Integrity Failures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

A09

A

Security Logging and Monitoring Failures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

A10

A

Server Side Request Forgery (SSRF)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Broken Access Control Description

A

Enforces policy such that users cannot act outside of their intended permissions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Broken Access Control prevention

A

Deny by default and log access failures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Example broken access control

A

App uses unverified data in SQL call, url contains acct parameter and the user sends whatever account number they want to get info

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cryptographic Failures Description

A

Determine protection needs of data in transit and at rest. Any old or weak cryptographic algorithms or protocols used either by default or in older code. Hard coded passwords.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cryptographic failures prevention

A

Classify data processed, stored, or transmitted by an application. Identify which data is sensitive according to privacy laws, regulatory requirements, or business needs. Dont store sensitive data unnecessarily. Encrypt all sensitive data at rest. Up to date algorithms, protocols and keys. Strong hashing and encryption.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Injection description

A

Injecting SQL, code, scripts into input

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Injection vulnerable to attack when

A

User-supplied data is not validated, filtered, or sanitized by the application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Injection how to prevent

A

Use safe API which avoids interpreter entirely and properly sanitize input.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Cryptographic failures example

A

App encrypts credit card numbers in a database using auto encryption. However, the data is automatically decrypted when retrieved allowing a SQL injection flaw to retrieve cc numbers in clear text

20
Q

Injection example

A

App uses untrusted data in the construction of the SQL call, attacker modifies the id parameter to send a query that returns all the records from the accounts table

21
Q

Insecure design description

A

Related to design and architectural flaws with a call for more use of threat modeling, secure design patterns, and reference architectures. Shift left to pre coding

22
Q

Insecure design, secure design

A

Consistently evaluate threats and ensures that code is robustly designed and tested to prevent known attack methods. Threat modeling should be integrated into refinement sessions. Look for changes in data flows and access control. Secure Development Lifecycle, look at the SAMM

23
Q

Insecure design, how to prevent

A

Use secure development lifecycle, library of secure design patterns, threat modeling for critical authentication, access control, business logic, and key flows. Integrate security language and controls into user stories

24
Q

Insecure design, example attack

A

Password recovery might include questions and answers, this is not safe and should be removed.

25
Q

Security Misconfiguration description

A

Unnecessary features enabled, ports, services, accounts, privileges. Default accounts and their passwords are still enabled and unchanged.

26
Q

Security Misconfiguration how to prevent

A

Dev, QA, and prod should all be configured identically with different credentials. No unnecessary features, components, documentation, frameworks. Micro services application architecture provides effective and secure separation between components.

27
Q

Security Misconfiguration example

A

The app server comes with sample app not removed from the prod server. These have known security flaws and can compromise the server.

28
Q

Vulnerable and outdated components description

A

If you do not know the versions of all components you use. If software is vulnerable, unsupported, or out of date. If you do not scan for vulnerabilities regularly.

29
Q

Vulnerable and outdated components how to prevent

A

Path management to remove unused dependencies, unnecessary features, components, files, and documentation. Inventory of versions.

30
Q

Vulnerable and outdated components example

A

Components typically run with the same privileges as the application itself. Attacker finds unpatched systems and exploit them.

31
Q

Identification and authentication failures description

A

Confirmation of the users identity authentication and session management is critical to protect agains authentication related attacks. May be a weakness if permits automated attacks such as cred stuffing and brute force. Default or weak passwords. Missing multi factor authentication

32
Q

Identification and authentication failures how to prevent

A

Implement multi-factor authentication. Do not ship or deploy with any default credentials. Implement weak password checks.

33
Q

Identification and authentication failures example

A

Credential stuffing, use of known passwords is a common attack. App does not implement automated threat or credential stuffing protection the app can be used as a password oracle to determine if the credentials are valid

34
Q

Software and data integrity failures description

A

Relate to code and infrastructure that does not protect against integrity violations. App relies on plugins, libraries from untrusted sources, repos and CDN. CI/CD pipelines can introduce potential for unauthorized access.

35
Q

Software and data integrity failures how to prevent

A

Use digital signatures or similar mechanism to verify the software or data is from the expected source and has not been altered. Checksum. Ensure libraries and dependencies coming from trusted repositories. CI/CD pipeline has proper segregation, config, access control to ensure the integrity of the code flowing through the build and deploy processes.

36
Q

Software and data integrity failures example

A

SolarWinds Orion attack. Libraries used were compromised and sent malicious update to more than 18,000 orgs.

37
Q

Security logging and monitoring failures description

A

Omission of security relevant information, insertion of sensitive information into log file. Auditable events such as login failed logins are not logged. Warnings and errors generate no clear log messages.

38
Q

Security logging and monitoring failures how to prevent

A

Ensure all login, access control, and server-side input validation failures can be logged with sufficient context and held for forensic analysis. Ensure the logs are generated in a format that log management solutions can easily consume. Establish effective monitoring of logs and alerting such suspicious activities.

39
Q

Security logging and monitoring failures example

A

Health provider couldn’t detect a breach due to lack of monitoring and logging and was informed by third party of bread that modified thousands of sensitive health records.

40
Q

Server side request forgery SSRF description

A

Occurs when a web app is fetching a remote resource without validating the user supplied url. It allows the attacker to coerce the app to send a crafted request to an unexpected destination.

41
Q

Server side request forgery how to prevent

A

Implement these controls: network layer - segment remote resource access functionality in separate networks to reduce the impact, enforce deny by default firewall. From app layer: sanitize and validate all input, disable http

42
Q

Server side request forgery SSRF example

A

Port scan internal servers to map the network if unsegmented. Sensitive data exposure attackers can access local files or internal services to gain sensitive information.

43
Q

What is a threat?

A

Any potential danger or adverse action that could exploit a vulnerability in your systems. Ex. Malware, ransomware, phishing attacks. More specifically an adversary or attacker who has the opportunity, capability, and intent to bring a negative impact to your ops, assets, workforce, or customers.

44
Q

Threat example

A

Threat is any potential danger ex. Malware, ransomeware, phishing attacks

45
Q

What is a vulnerability

A

A weakness, flaw, or shortcoming in a system, infrastructure, database, software, process, or a set of controls that can be exploited by a threat actor

46
Q

Example of a vulnerability

A

An unlocked door is a vulnerability that can be exploited by a thief

47
Q

What is a risk

A

Likelihood and potential impact of a negative event occurring. Likelihood a vulnerability will be exploited by a threat.