Skip to content

πŸ“˜ Anki's version of OWSAP Top 10. The OWASP Top 10 πŸͺ² is a standard awareness document for developers and web application security. It represents a broad consensus about the most critical security risks to web applications.

License

Notifications You must be signed in to change notification settings

envico801/anki-owasp-top-10

Repository files navigation

OAOT - Anki owasp top 10 - owasp

Questions

ID File name / path Part Chapter
- Introduction 1 -
- Introduction > What is OWASP 1 1
1 What is owasp 1 1
2 What is the owasp top 10 1 1
- A01 2021-Broken Access Control 2 -
3 What is broken access control in owasp t 2 1
4 What is the main purpose of access control 2 1
5 What is the principle of least privilege 2 1
6 How can access control checks be bypassed 2 1
7 What are insecure direct object reference 2 1
8 Why are access controls important for post 2 1
9 What is elevation of privilege 2 1
10 How can metadata manipulation be a securit 2 1
11 What is cors misconfiguration 2 1
12 What is force browsing 2 1
- A01 2021-Broken Access Control > How to Prevent 2 2
13 Where should access control be implemented 2 2
14 What s the recommended default access poli 2 2
15 How should access control mechanisms be us 2 2
16 How to handle access control failures 2 2
17 Why implement rate limiting 2 2
18 How to handle session identifiers after lo 2 2
19 What s the role of access control testing 2 2
- A01 2021-Broken Access Control > Example Attack Scenarios 2 3
20 What type of attack is being performed in 2 3
21 What type of attack is happening here an 2 3
- A02 2021-Cryptographic Failures 3 -
- A02 2021-Cryptographic Failures > Overview 3 1
22 What is cryptographic failures in owasp 3 1
23 What types of data require extra cryptogra 3 1
24 Why is clear text data transmission danger 3 1
25 What s the risk of using old cryptographic 3 1
26 Why is proper key management crucial 3 1
27 Where should encryption be enforced 3 1
28 What s important about server certificates 3 1
29 Why are initialization vectors important i 3 1
30 What s the risk of using passwords as cryp 3 1
31 Why is cryptographic randomness crucial 3 1
32 How can cryptographic error messages be ex 3 1
33 Where to find guidance on cryptographic be 3 1
- A02 2021-Cryptographic Failures > How to Prevent 3 2
34 What s the first step in preventing crypto 3 2
35 Why discard unnecessary sensitive data 3 2
36 Why encrypt sensitive data at rest 3 2
37 Why disable caching for sensitive response 3 2
38 Why apply security controls based on data 3 2
39 Why avoid legacy protocols for sensitive d 3 2
40 Why use strong salted hashing for passwor 3 2
41 What s better than just encryption 3 2
42 How should cryptographic keys be handled 3 2
43 Why verify cryptographic configurations in 3 2
- A02 2021-Cryptographic Failures > Example Attack Scenarios 3 3
44 What type of attack involves the following 3 3
45 Can you identify the type of attack happen 3 3
46 What kind of attack is described in this s 3 3
- A03 2021-Injection 4 -
- A03 2021-Injection > Overview 4 1
47 What is injection in owasp top 10 2021 4 1
48 What makes an application vulnerable to in 4 1
49 What are parameterized queries 4 1
50 How can orm be exploited 4 1
51 What are common types of injection attacks 4 1
52 How to best detect injection vulnerabiliti 4 1
- A03 2021-Injection > How to Prevent 4 2
53 How to handle special characters in dynami 4 2
54 Why are user-supplied structure names dang 4 2
55 How to prevent mass record disclosure in s 4 2
- A03 2021-Injection > Example Attack Scenarios 4 3
56 What type of attack is being carried out i 4 3
57 Can you identify the type of attack happen 4 3
- A04 2021-Insecure Design 5 -
- A04 2021-Insecure Design > Overview 5 1
58 What is insecure design in owasp top 10 5 1
59 How does insecure design differ from insec 5 1
60 Can secure designs have vulnerabilities 5 1
61 What contributes to insecure design 5 1
62 How can security be integrated throughout 5 1
- A04 2021-Insecure Design > How to Prevent 5 2
63 What is a secure design pattern library 5 2
64 How does threat modeling contribute to sec 5 2
65 Why integrate security into user stories 5 2
66 What are plausibility checks in applicatio 5 2
67 What is tier segregation in system design 5 2
68 How can limiting resource consumption impr 5 2
- A04 2021-Insecure Design > Example Attack Scenarios 5 3
69 What type of attack is associated with thi 5 3
70 Can you identify the type of attack happen 5 3
71 What kind of attack is described in this s 5 3
- A05 2021-Security Misconfiguration 6 -
- A05 2021-Security Misconfiguration > Overview 6 1
72 What is security misconfiguration in owa 6 1
73 Why is security hardening important across 6 1
74 How can cloud service misconfigurations le 6 1
75 Why should unnecessary features be disable 6 1
76 How can overly informative error messages 6 1
77 Why is it crucial to enable the latest sec 6 1
78 What components need secure configuration 6 1
79 Why are security headers important in web 6 1
80 How does keeping software up-to-date impro 6 1
- A05 2021-Security Misconfiguration > How to Prevent 6 2
81 What is a repeatable hardening process 6 2
82 What is a segmented application architectu 6 2
83 What s the benefit of consistent configura 6 2
84 How can containerization improve security 6 2
85 What role do cloud security groups play in 6 2
- A05 2021-Security Misconfiguration > Example Attack Scenarios 6 3
86 What type of attack is taking place in thi 6 3
87 Can you identify the type of attack happen 6 3
88 What kind of attack is described in this s 6 3
89 What type of attack is being demonstrated 6 3
- A06 2021-Vulnerable and Outdated Components 7 -
- A06 2021-Vulnerable and Outdated Components > Overview 7 1
90 What are vulnerable and outdated componen 7 1
91 Why is it important to track component ver 7 1
92 How can you stay informed about component 7 1
93 How can developers ensure component securi 7 1
- A06 2021-Vulnerable and Outdated Components > How to Prevent 7 2
94 What should be removed during patch manage 7 2
95 How to handle unmaintained components lack 7 2
- A06 2021-Vulnerable and Outdated Components > Example Attack Scenarios 7 3
96 What type of attack is demonstrated in thi 7 3
- A07 2021-Identification and Authentication Failures 8 -
- A07 2021-Identification and Authentication Failures > Overview 8 1
97 What are identification and authenticatio 8 1
98 Why is proper user authentication critical 8 1
99 What is credential stuffing 8 1
100 What s wrong with knowledge-based answers 8 1
101 Why is storing passwords in plain text dan 8 1
102 What is multi-factor authentication mfa 8 1
103 Why shouldn t session ids be exposed in ur 8 1
104 Why is session id reuse after login risky 8 1
105 What is a brute force attack 8 1
- A07 2021-Identification and Authentication Failures > How to Prevent 8 2
106 Why should default credentials be avoided 8 2
107 How can weak password checks improve secur 8 2
108 What are modern password policy recommenda 8 2
109 How can account enumeration attacks be pre 8 2
110 Why limit or delay failed login attempts 8 2
111 How can password strength be effectively m 8 2
112 What s the importance of secure credential 8 2
113 How can api security be enhanced for authe 8 2
- A07 2021-Identification and Authentication Failures > Example Attack Scenarios 8 3
114 What type of attack is happening in this s 8 3
115 Can you identify the type of attack happen 8 3
116 What kind of attack is described in this s 8 3
- A08 2021-Software and Data Integrity Failures 9 -
- A08 2021-Software and Data Integrity Failures > Overview 9 1
117 What are software and data integrity fail 9 1
118 How can untrusted libraries compromise sof 9 1
119 What risks do insecure ci-cd pipelines pos 9 1
120 Why is auto-update functionality a potenti 9 1
121 What is insecure deserialization 9 1
- A08 2021-Software and Data Integrity Failures > How to Prevent 9 2
122 How can digital signatures prevent integri 9 2
123 Why is code review important for preventin 9 2
124 How can serialized data transmission be ma 9 2
- A08 2021-Software and Data Integrity Failures > Example Attack Scenarios 9 3
125 What type of attack is demonstrated in thi 9 3
126 Can you identify the type of attack happen 9 3
127 What kind of attack is described in this s 9 3
- A09 2021-Security Logging and Monitoring Failures 10 -
- A09 2021-Security Logging and Monitoring Failures > Overview 10 1
128 What are security logging and monitoring 10 1
129 Why is security logging and monitoring cru 10 1
130 Why are clear and adequate log messages im 10 1
131 What s the risk of storing logs only local 10 1
132 How can penetration testing improve monito 10 1
133 Why is real-time attack detection crucial 10 1
134 What s the importance of log retention pol 10 1
135 How can log integrity be ensured 10 1
- A09 2021-Security Logging and Monitoring Failures > How to Prevent 10 2
136 What should be logged for security-related 10 2
137 Why use standardized log formats 10 2
138 How can log injection attacks be prevented 10 2
139 What are integrity controls for high-value 10 2
140 How can devsecops teams enhance security m 10 2
141 Why is an incident response plan important 10 2
142 How can log confidentiality be maintained 10 2
143 What role do log reviews play in security 10 2
- A09 2021-Security Logging and Monitoring Failures > Example Attack Scenarios 10 3
144 What type of attack is illustrated in this 10 3
145 Can you identify the type of attack happen 10 3
146 What kind of attack is described in this s 10 3
- A10 2021-Server-Side Request Forgery 11 -
- A10 2021-Server-Side Request Forgery > Overview 11 1
147 What is server-side request forgery ssrf 11 1
148 How does cloud computing increase ssrf ris 11 1
149 What makes ssrf detection challenging 11 1
150 How can ssrf lead to data breaches 11 1
151 What role does input validation play in pr 11 1
152 How can ssrf impact containerized environm 11 1
153 Why is ssrf particularly dangerous in micr 11 1
- A10 2021-Server-Side Request Forgery > How to Prevent 11 2
154 How can network segmentation reduce ssrf r 11 2
155 Why establish ownership for firewall rules 11 2
156 How does logging network flows help preven 11 2
157 Why avoid sending raw responses to clients 11 2
158 Why disable http redirections for ssrf pre 11 2
159 How can url consistency awareness prevent 11 2
160 Why are deny lists ineffective against ssr 11 2
161 Why minimize services on front-end systems 11 2
162 When should you consider using vpns for fr 11 2
- A10 2021-Server-Side Request Forgery > Example Attack Scenarios 11 3
163 What type of attack is demonstrated in thi 11 3
164 Can you identify the type of attack happen 11 3
165 What kind of attack is described in this s 11 3
166 What type of attack is being demonstrated 11 3

Part I - Introduction

Chapter 1 - What is OWASP?

Q:: =============================================

What is OWASP?
ID1

A:: =============================================
A non-profit organization providing free resources on web application security.

Example: OWASP offers tools like ZAP (Zed Attack Proxy) for security testing.

Q:: =============================================

What is the OWASP Top 10?
ID2

A:: =============================================
A regularly updated list of the most critical web application security risks.

Example: "Broken Access Control" was the top risk in the 2021 edition.

Part II - A01:2021-Broken Access Control

icon

Chapter 1 - Overview

Q:: =============================================

What is "Broken Access Control" in OWASP Top 10 2021?
ID3

A:: =============================================
The most critical web application security risk, involving unauthorized access to resources or actions.

Example: A regular user accessing admin functions by modifying the URL.

Q:: =============================================

What is the main purpose of access control?
ID4

A:: =============================================
To enforce user permissions and prevent unauthorized actions.

Example: Ensuring only HR staff can access employee salary information.

Q:: =============================================

What is the "principle of least privilege"?
ID5

A:: =============================================
Granting users only the minimum permissions necessary for their tasks.

Example: Giving a content editor rights to edit articles but not system settings.

Q:: =============================================

How can access control checks be bypassed?
ID6

A:: =============================================
By manipulating requests, URLs, or application state.

Example: Changing a user ID in a URL to access another user's profile.

Q:: =============================================

What are "insecure direct object references"?
ID7

A:: =============================================
Exposing internal implementation objects without access checks.

Example: Accessing order #123 by changing URL from order/789 to order/123.

Q:: =============================================

Why are access controls important for POST, PUT, and DELETE requests?
ID8

A:: =============================================
To prevent unauthorized data modification or deletion.

Example: Ensuring only account owners can delete their own posts.

Q:: =============================================

What is "elevation of privilege"?
ID9

A:: =============================================
Gaining higher-level permissions than intended.

Example: A regular user accessing admin features by modifying a cookie.

Q:: =============================================

How can metadata manipulation be a security risk?
ID10

A:: =============================================
By altering tokens or hidden fields to gain unauthorized access.

Example: Modifying a JWT token to change user roles or permissions.

Q:: =============================================

What is CORS misconfiguration?
ID11

A:: =============================================
Improper setup of Cross-Origin Resource Sharing, allowing unauthorized access.

Example: A misconfigured API accepting requests from any origin, not just trusted ones.

Q:: =============================================

What is "force browsing"?
ID12

A:: =============================================
Attempting to access restricted pages by guessing URLs.

Example: A user trying to access "/admin" pages without proper authentication.

Chapter 2 - How to Prevent?

Q:: =============================================

Where should access control be implemented?
ID13

A:: =============================================
In trusted server-side code or server-less API.

Example: Implementing user role checks in backend PHP code, not in JavaScript.

Q:: =============================================

What's the recommended default access policy?
ID14

A:: =============================================
Deny access by default, except for public resources.

Example: Requiring authentication for all pages except the homepage and login page.

Q:: =============================================

How should access control mechanisms be used?
ID15

A:: =============================================
Implement once and reuse throughout the application.

Example: Creating a central authorization service used by all app modules.

Q:: =============================================

How to handle access control failures?
ID16

A:: =============================================
Log failures and trigger alerts for administrators.

Example: Sending an email to admins after 5 failed access attempts in 1 minute.

Q:: =============================================

Why implement rate limiting?
ID17

A:: =============================================
To minimize harm from automated attacks and prevent abuse.

Example: Limiting API calls to 100 per hour per user.

Q:: =============================================

How to handle session identifiers after logout?
ID18

A:: =============================================
Invalidate on the server; use short-lived JWTs for stateless sessions.

Example: Deleting session data from the server when a user logs out.

Q:: =============================================

What's the role of access control testing?
ID19

A:: =============================================
To ensure correct implementation and detect unauthorized access attempts.

Example: Writing unit tests to verify admin functions are inaccessible to regular users.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is being performed in this situation?

The application uses unverified data in a SQL call that is accessing account information:

 pstmt.setString(1, request.getParameter("acct"));
 ResultSet results = pstmt.executeQuery( );

An attacker simply modifies the browser's 'acct' parameter to send whatever account number they want. If not correctly verified, the attacker can access any user's account.

 https://example.com/app/accountInfo?acct=notmyacct
ID20

A:: =============================================
A01 Broken Access Control

Q:: =============================================

What type of attack is happening here?

An attacker simply forces browsing to target URLs. Admin rights are required for access to the admin page.

 https://example.com/app/getappInfo
 https://example.com/app/admin_getappInfo
  • If an unauthenticated user can access either page, it's a flaw.
  • If a non-admin can access the admin page, this is a flaw.
ID21

A:: =============================================
A01 Broken Access Control

Part III - A02:2021-Cryptographic Failures

icon

Chapter 1 - Overview

Q:: =============================================

What is "Cryptographic Failures" in OWASP Top 10 2021?
ID22

A:: =============================================
Security issues related to cryptography, often leading to data exposure.

Example: Using outdated encryption algorithms like MD5 for password storage.

Q:: =============================================

What types of data require extra cryptographic protection?
ID23

A:: =============================================
Sensitive information like passwords, credit card numbers, and personal data.

Example: Encrypting social security numbers before storing in a database.

Q:: =============================================

Why is clear text data transmission dangerous?
ID24

A:: =============================================
It's vulnerable to interception, especially over external networks.

Example: Sending login credentials over HTTP instead of HTTPS.

Q:: =============================================

What's the risk of using old cryptographic algorithms?
ID25

A:: =============================================
They may have known vulnerabilities, making data easier to compromise.

Example: Using DES encryption, which is now considered insecure.

Q:: =============================================

Why is proper key management crucial?
ID26

A:: =============================================
To prevent unauthorized access and ensure cryptographic integrity.

Example: Regularly rotating encryption keys and securely storing them.

Q:: =============================================

Where should encryption be enforced?
ID27

A:: =============================================
In all data transmissions, both external and internal.

Example: Using TLS for communication between web servers and databases.

Q:: =============================================

What's important about server certificates?
ID28

A:: =============================================
They should be properly validated to prevent man-in-the-middle attacks.

Example: Checking certificate expiration dates and trusted certificate authorities.

Q:: =============================================

Why are initialization vectors important in cryptography?
ID29

A:: =============================================
To ensure unique encryption results, even for identical data.

Example: Using a unique IV for each AES encryption operation.

Q:: =============================================

What's the risk of using passwords as cryptographic keys?
ID30

A:: =============================================
It can lead to weak encryption if not properly processed.

Example: Directly using a user's password to encrypt files, instead of deriving a key.

Q:: =============================================

Why is cryptographic randomness crucial?
ID31

A:: =============================================
To prevent predictability in security-critical operations.

Example: Using a cryptographically secure random number generator for session tokens.

Q:: =============================================

How can cryptographic error messages be exploited?
ID32

A:: =============================================
They may leak information useful for attacks.

Example: A padding oracle attack exploiting detailed decryption error messages.

Q:: =============================================

Where to find guidance on cryptographic best practices?
ID33

A:: =============================================
In OWASP resources like ASVS Crypto, Data Protection, and SSL/TLS sections.

Example: Consulting ASVS V7 for proper key management practices.

Chapter 2 - How to Prevent?

Q:: =============================================

What's the first step in preventing cryptographic failures?
ID34

A:: =============================================
Classify data and identify sensitive information.

Example: Categorizing customer data as public, internal, or confidential.

Q:: =============================================

Why discard unnecessary sensitive data?
ID35

A:: =============================================
To reduce the risk and impact of potential data breaches.

Example: Deleting credit card details after a transaction is completed.

Q:: =============================================

Why encrypt sensitive data at rest?
ID36

A:: =============================================
To protect data even if physical storage is compromised.

Example: Encrypting stored passwords in case the database is stolen.

Q:: =============================================

Why disable caching for sensitive responses?
ID37

A:: =============================================
To prevent sensitive data from being stored in insecure locations.

Example: Setting 'Cache-Control: no-store' for pages with personal info.

Q:: =============================================

Why apply security controls based on data classification?
ID38

A:: =============================================
To ensure appropriate protection levels for different data types.

Example: Using multi-factor authentication for accessing financial records.

Q:: =============================================

Why avoid legacy protocols for sensitive data?
ID39

A:: =============================================
They lack modern security features and encryption.

Example: Using SFTP instead of FTP for file transfers.

Q:: =============================================

Why use strong, salted hashing for passwords?
ID40

A:: =============================================
To make password recovery from hashes extremely difficult.

Example: Using bcrypt instead of MD5 for password storage.

Q:: =============================================

What's better than just encryption?
ID41

A:: =============================================
Authenticated encryption, ensuring both confidentiality and integrity.

Example: Using AES-GCM instead of AES-CBC for data protection.

Q:: =============================================

How should cryptographic keys be handled?
ID42

A:: =============================================
Generated randomly and stored securely as byte arrays.

Example: Using a hardware security module (HSM) to generate and store keys.

Q:: =============================================

Why verify cryptographic configurations independently?
ID43

A:: =============================================
To ensure they're functioning correctly and providing intended protection.

Example: Using third-party security audits to verify TLS configurations.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack involves the following situation?

An application encrypts credit card numbers in a database using automatic database encryption. However, this data is automatically decrypted when retrieved, allowing a SQL injection flaw to retrieve credit card numbers in clear text.

ID44

A:: =============================================
A02 Cryptographic Failures

Q:: =============================================

Can you identify the type of attack happening here?

A site doesn't use or enforce TLS for all pages or supports weak encryption. An attacker monitors network traffic (e.g., at an insecure wireless network), downgrades connections from HTTPS to HTTP, intercepts requests, and steals the user's session cookie. The attacker then replays this cookie and hijacks the user's (authenticated) session, accessing or modifying the user's private data. Instead of the above they could alter all transported data, e.g., the recipient of a money transfer.

ID45

A:: =============================================
A02 Cryptographic Failures

Q:: =============================================

What kind of attack is described in this situation?

The password database uses unsalted or simple hashes to store everyone's passwords. A file upload flaw allows an attacker to retrieve the password database. All the unsalted hashes can be exposed with a rainbow table of pre-calculated hashes. Hashes generated by simple or fast hash functions may be cracked by GPUs, even if they were salted.

ID46

A:: =============================================
A02 Cryptographic Failures

Part IV - A03:2021-Injection

icon

Chapter 1 - Overview

Q:: =============================================

What is "Injection" in OWASP Top 10 2021?
ID47

A:: =============================================
Vulnerabilities allowing attackers to insert malicious code into applications.

Example: SQL injection attack manipulating a database query.

Q:: =============================================

What makes an application vulnerable to injection?
ID48

A:: =============================================
Improper handling of user-supplied data in queries or commands.

Example: Directly concatenating user input into an SQL query.

Q:: =============================================

What are parameterized queries?
ID49

A:: =============================================
Queries separating data from SQL commands, preventing injection.

Example: Using prepared statements in Java with JDBC.

Q:: =============================================

How can ORM be exploited?
ID50

A:: =============================================
By manipulating search parameters to access unauthorized data.

Example: Modifying an ORM query to bypass filters and access all records.

Q:: =============================================

What are common types of injection attacks?
ID51

A:: =============================================
SQL, NoSQL, OS command, LDAP, and Expression Language injection.

Example: OS command injection in a file upload feature.

Q:: =============================================

How to best detect injection vulnerabilities?
ID52

A:: =============================================
Through source code review and automated security testing.

Example: Using SAST tools to analyze code for potential SQL injection points.

Chapter 2 - How to Prevent?

Q:: =============================================

How to handle special characters in dynamic queries?
ID53

A:: =============================================
Escape them using the specific syntax for that interpreter.

Example: Using MySQLi's real_escape_string() for MySQL queries in PHP.

Q:: =============================================

Why are user-supplied structure names dangerous in SQL?
ID54

A:: =============================================
They can't be safely escaped, allowing potential schema manipulation.

Example: Allowing users to specify table names in a custom report builder.

Q:: =============================================

How to prevent mass record disclosure in SQL injection?
ID55

A:: =============================================
Use SQL controls like LIMIT to restrict query results.

Example: Adding "LIMIT 1000" to queries to cap the number of returned records.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is being carried out in this situation?

An application uses untrusted data in the construction of the following vulnerable SQL call:

String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'";
ID56

A:: =============================================
A03 Injection

Q:: =============================================

Can you identify the type of attack happening here?

Similarly, an application’s blind trust in frameworks may result in queries that are still vulnerable, (e.g., Hibernate Query Language (HQL)):

Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'");

In both cases, the attacker modifies the β€˜id’ parameter value in their browser to send: ' UNION SLEEP(10);--. For example:

http://example.com/app/accountView?id=' UNION SELECT SLEEP(10);--

This changes the meaning of both queries to return all the records from the accounts table. More dangerous attacks could modify or delete data or even invoke stored procedures.

ID57

A:: =============================================
A03 Injection

Part V - A04:2021-Insecure Design

icon

Chapter 1 - Overview

Q:: =============================================

What is "Insecure Design" in OWASP Top 10 2021?
ID58

A:: =============================================
A category of security risks resulting from missing or ineffective security controls in software design.

Example: A banking app allowing unlimited login attempts without lockouts.

Q:: =============================================

How does insecure design differ from insecure implementation?
ID59

A:: =============================================
Design flaws are in the system's architecture; implementation flaws are in the code.

Example: Designing a system without access controls vs. incorrectly coding access checks.

Q:: =============================================

Can secure designs have vulnerabilities?
ID60

A:: =============================================
Yes, through implementation errors, but they're easier to fix than design flaws.

Example: A well-designed authentication system with a bug in password hashing.

Q:: =============================================

What contributes to insecure design?
ID61

A:: =============================================
Lack of risk assessment and security planning in early development stages.

Example: Not considering potential data breaches when designing a user database.

Q:: =============================================

How can security be integrated throughout development?
ID62

A:: =============================================
By involving security experts from project inception to completion.

Example: Having security reviews at each stage of an agile development process.

Chapter 2 - How to Prevent?

Q:: =============================================

What is a secure design pattern library?
ID63

A:: =============================================
A collection of pre-approved, secure software components that developers can use.

Example: A library containing a properly implemented password hashing function.

Q:: =============================================

How does threat modeling contribute to secure design?
ID64

A:: =============================================
By identifying potential threats to critical aspects of the application early in development.

Example: Analyzing possible attacks on a new payment processing feature.

Q:: =============================================

Why integrate security into user stories?
ID65

A:: =============================================
To ensure security is considered from the beginning of the development process.

Example: Including "verify user identity" in a story about account creation.

Q:: =============================================

What are plausibility checks in application design?
ID66

A:: =============================================
Validations at each tier of the app to ensure inputs and processes are correct and secure.

Example: Checking if a user's age input is within a reasonable range.

Q:: =============================================

What is tier segregation in system design?
ID67

A:: =============================================
Separating application layers based on their exposure and protection needs.

Example: Isolating the database server from direct internet access.

Q:: =============================================

How can limiting resource consumption improve security?
ID68

A:: =============================================
By preventing denial of service and ensuring fair usage across users or services.

Example: Setting a maximum number of API calls per user per minute.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is associated with this situation?

A credential recovery workflow might include β€œquestions and answers,” which is prohibited by NIST 800-63b, the OWASP ASVS, and the OWASP Top 10. Questions and answers cannot be trusted as evidence of identity as more than one person can know the answers, which is why they are prohibited. Such code should be removed and replaced with a more secure design.

ID69

A:: =============================================
A04 Insecure Design

Q:: =============================================

Can you identify the type of attack happening here?

A cinema chain allows group booking discounts and has a maximum of fifteen attendees before requiring a deposit. Attackers could threat model this flow and test if they could book six hundred seats and all cinemas at once in a few requests, causing a massive loss of income.

ID70

A:: =============================================
A04 Insecure Design

Q:: =============================================

What kind of attack is described in this situation?

A retail chain’s e-commerce website does not have protection against bots run by scalpers buying high-end video cards to resell on auction websites. This creates terrible publicity for the video card makers and retail chain owners and enduring bad blood with enthusiasts who cannot obtain these cards at any price. Careful anti-bot design and domain logic rules, such as purchases made within a few seconds of availability, might identify inauthentic purchases and reject such transactions.

ID71

A:: =============================================
A04 Insecure Design

Part VI - A05:2021-Security Misconfiguration

icon

Chapter 1 - Overview

Q:: =============================================

What is "Security Misconfiguration" in OWASP Top 10 2021?
ID72

A:: =============================================
Vulnerabilities resulting from improper configuration of application components.

Example: Using default credentials on a production database server.

Q:: =============================================

Why is security hardening important across the application stack?
ID73

A:: =============================================
To reduce vulnerabilities by properly configuring all components of the application.

Example: Disabling unnecessary services on a web server.

Q:: =============================================

How can cloud service misconfigurations lead to vulnerabilities?
ID74

A:: =============================================
Improper permission settings can allow unauthorized access to resources.

Example: Accidentally making an S3 bucket publicly readable.

Q:: =============================================

Why should unnecessary features be disabled?
ID75

A:: =============================================
To reduce the attack surface and minimize potential vulnerabilities.

Example: Disabling unused modules in a content management system.

Q:: =============================================

How can overly informative error messages be a security risk?
ID76

A:: =============================================
They may reveal sensitive information that aids attackers in exploiting vulnerabilities.

Example: A database error exposing table names and query structure.

Q:: =============================================

Why is it crucial to enable the latest security features?
ID77

A:: =============================================
To protect against newly discovered threats and vulnerabilities.

Example: Enabling HTTP Strict Transport Security (HSTS) on a web server.

Q:: =============================================

What components need secure configuration in an application?
ID78

A:: =============================================
All components including servers, frameworks, libraries, and databases.

Example: Configuring proper access controls in a MySQL database.

Q:: =============================================

Why are security headers important in web applications?
ID79

A:: =============================================
They instruct the client's browser to enable specific security controls.

Example: Using the X-Frame-Options header to prevent clickjacking attacks.

Q:: =============================================

How does keeping software up-to-date improve security?
ID80

A:: =============================================
It patches known vulnerabilities and adds new security features.

Example: Updating a WordPress installation to fix a known SQL injection flaw.

Chapter 2 - How to Prevent?

Q:: =============================================

What is a repeatable hardening process?
ID81

A:: =============================================
A standardized method to quickly deploy secure environments across development, QA, and production.

Example: Using automated scripts to apply security settings on all new servers.

Q:: =============================================

What is a segmented application architecture?
ID82

A:: =============================================
A design that separates components or tenants to limit the impact of potential breaches.

Example: Using separate databases for different customer groups in a SaaS application.

Q:: =============================================

What's the benefit of consistent configurations across environments?
ID83

A:: =============================================
It reduces the risk of security issues when moving from development to production.

Example: Using the same firewall rules in development and production environments.

Q:: =============================================

How can containerization improve security?
ID84

A:: =============================================
By isolating applications and their dependencies, reducing the impact of potential breaches.

Example: Running different microservices in separate Docker containers.

Q:: =============================================

What role do cloud security groups play in preventing misconfigurations?
ID85

A:: =============================================
They provide a way to control network access to cloud resources, enhancing security.

Example: Using AWS security groups to limit database access to specific application servers.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is taking place in this situation?

The application server comes with sample applications not removed from the production server. These sample applications have known security flaws attackers use to compromise the server. Suppose one of these applications is the admin console, and default accounts weren't changed. In that case, the attacker logs in with default passwords and takes over.

ID86

A:: =============================================
A05 Security Misconfiguration

Q:: =============================================

Can you identify the type of attack happening here?

Directory listing is not disabled on the server. An attacker discovers they can simply list directories. The attacker finds and downloads the compiled Java classes, which they decompile and reverse engineer to view the code. The attacker then finds a severe access control flaw in the application.

ID87

A:: =============================================
A05 Security Misconfiguration

Q:: =============================================

What kind of attack is described in this situation?

The application server's configuration allows detailed error messages, e.g., stack traces, to be returned to users. This potentially exposes sensitive information or underlying flaws such as component versions that are known to be vulnerable.

ID88

A:: =============================================
A05 Security Misconfiguration

Q:: =============================================

What type of attack is being demonstrated here?

A cloud service provider (CSP) has default sharing permissions open to the Internet by other CSP users. This allows sensitive data stored within cloud storage to be accessed.

ID89

A:: =============================================
A05 Security Misconfiguration

Part VII - A06:2021-Vulnerable and Outdated Components

icon

Chapter 1 - Overview

Q:: =============================================

What are "Vulnerable and Outdated Components" in OWASP Top 10 2021?
ID90

A:: =============================================
Software elements with known security flaws or lacking necessary updates.

Example: Using an old version of jQuery with a known XSS vulnerability.

Q:: =============================================

Why is it important to track component versions in your software?
ID91

A:: =============================================
To identify and address potential vulnerabilities quickly.

Example: Maintaining a list of all npm packages and their versions used in a project.

Q:: =============================================

How can you stay informed about component vulnerabilities?
ID92

A:: =============================================
By regularly scanning for vulnerabilities and subscribing to security bulletins.

Example: Using tools like OWASP Dependency-Check in your CI/CD pipeline.

Q:: =============================================

How can developers ensure component security when updating?
ID93

A:: =============================================
By testing the compatibility and security of updated libraries.

Example: Running a full test suite after updating a critical framework.

Chapter 2 - How to Prevent?

Q:: =============================================

What should be removed during patch management?
ID94

A:: =============================================
Unused dependencies, features, components, files, and documentation.

Example: Removing unused modules from a content management system.

Q:: =============================================

How to handle unmaintained components lacking security patches?
ID95

A:: =============================================
By monitoring them closely and considering virtual patching when updates aren't possible.

Example: Using a Web Application Firewall to mitigate a vulnerability in a legacy library.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is demonstrated in this scenario?

Components typically run with the same privileges as the application itself, so flaws in any component can result in serious impact. Such flaws can be accidental (e.g., coding error) or intentional (e.g., a backdoor in a component). Some example exploitable component vulnerabilities discovered are:

  • CVE-2017-5638, a Struts 2 remote code execution vulnerability that enables the execution of arbitrary code on the server, has been blamed for significant breaches.

  • While the internet of things (IoT) is frequently difficult or impossible to patch, the importance of patching them can be great (e.g., biomedical devices).

There are automated tools to help attackers find unpatched or misconfigured systems. For example, the Shodan IoT search engine can help you find devices that still suffer from Heartbleed vulnerability patched in April 2014.

ID96

A:: =============================================
A06 Vulnerable and Outdated Components

Part VIII - A07:2021-Identification and Authentication Failures

icon

Chapter 1 - Overview

Q:: =============================================

What are "Identification and Authentication Failures" in OWASP Top 10 2021?
ID97

A:: =============================================
Weaknesses in systems that verify user identity and manage user sessions.

Example: A website that doesn't lock accounts after multiple failed login attempts.

Q:: =============================================

Why is proper user authentication critical?
ID98

A:: =============================================
To prevent unauthorized access and protect against identity-related attacks.

Example: Ensuring only authorized users can access sensitive financial data.

Q:: =============================================

What is credential stuffing?
ID99

A:: =============================================
An attack using stolen username/password pairs to gain unauthorized access.

Example: Using leaked email/password combinations to try logging into various websites.

Q:: =============================================

What's wrong with knowledge-based answers for password recovery?
ID100

A:: =============================================
They can often be guessed or obtained through social engineering.

Example: Using "mother's maiden name" as a security question, which might be publicly available.

Q:: =============================================

Why is storing passwords in plain text dangerous?
ID101

A:: =============================================
It allows anyone with database access to see users' passwords.

Example: Storing user passwords as clear text in a database file.

Q:: =============================================

What is multi-factor authentication (MFA)?
ID102

A:: =============================================
A security system requiring two or more forms of identification to grant access.

Example: Requiring both a password and a fingerprint scan to log in.

Q:: =============================================

Why shouldn't session IDs be exposed in URLs?
ID103

A:: =============================================
It can lead to session hijacking and unauthorized access.

Example: Having a URL like "example.com/account?sessionid=1234", which can be easily copied.

Q:: =============================================

Why is session ID reuse after login risky?
ID104

A:: =============================================
It can allow unauthorized users to take over authenticated sessions.

Example: Not generating a new session ID after a user logs in, potentially allowing old IDs to remain valid.

Q:: =============================================

What is a brute force attack?
ID105

A:: =============================================
Systematically trying many passwords to gain unauthorized access.

Example: A program that tries every possible 4-digit PIN on a locked phone.

Chapter 2 - How to Prevent?

Q:: =============================================

Why should default credentials be avoided in deployments?
ID106

A:: =============================================
To prevent easy unauthorized access to newly deployed systems.

Example: Changing the default 'admin/admin' credentials on a new router before use.

Q:: =============================================

How can weak password checks improve security?
ID107

A:: =============================================
By preventing users from choosing easily guessable passwords.

Example: Rejecting '123456' as a password during account creation.

Q:: =============================================

What are modern password policy recommendations?
ID108

A:: =============================================
Focusing on length over complexity and avoiding frequent mandatory changes.

Example: Encouraging passphrases like "correct-horse-battery-staple" instead of "P@ssw0rd!".

Q:: =============================================

How can account enumeration attacks be prevented?
ID109

A:: =============================================
By providing consistent responses regardless of whether an account exists.

Example: Showing "If an account exists, a reset email has been sent" for all reset attempts.

Q:: =============================================

Why limit or delay failed login attempts?
ID110

A:: =============================================
To prevent brute force attacks without causing denial of service.

Example: Implementing a 30-second delay after 5 failed login attempts.

Q:: =============================================

How can password strength be effectively measured?
ID111

A:: =============================================
By comparing against lists of common passwords and using entropy calculations.

Example: Using a password strength meter that checks against a database of breached passwords.

Q:: =============================================

What's the importance of secure credential recovery?
ID112

A:: =============================================
To prevent unauthorized access through weak password reset mechanisms.

Example: Sending a time-limited reset link to a pre-registered email address instead of asking security questions.

Q:: =============================================

How can API security be enhanced for authentication?
ID113

A:: =============================================
By implementing rate limiting and consistent error responses.

Example: Limiting login API calls to 10 per minute per IP address.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is happening in this scenario?

Credential stuffing, the use of lists of known passwords, is a common attack. Suppose an application does not implement automated threat or credential stuffing protection. In that case, the application can be used as a password oracle to determine if the credentials are valid.

ID114

A:: =============================================
A07 Identification and Authentication Failures

Q:: =============================================

Can you identify the type of attack happening here?

Most authentication attacks occur due to the continued use of passwords as a sole factor. Once considered best practices, password rotation and complexity requirements encourage users to use and reuse weak passwords. Organizations are recommended to stop these practices per NIST 800-63 and use multi-factor authentication.

ID115

A:: =============================================
A07 Identification and Authentication Failures

Q:: =============================================

What kind of attack is described in this situation?

Application session timeouts aren't set correctly. A user uses a public computer to access an application. Instead of selecting "logout," the user simply closes the browser tab and walks away. An attacker uses the same browser an hour later, and the user is still authenticated.

ID116

A:: =============================================
A07 Identification and Authentication Failures

Part IX - A08:2021-Software and Data Integrity Failures

icon

Chapter 1 - Overview

Q:: =============================================

What are "Software and Data Integrity Failures" in OWASP Top 10 2021?
ID117

A:: =============================================
Issues related to code and data that can be tampered with due to insufficient verification.

Example: An application accepting software updates without verifying their source.

Q:: =============================================

How can untrusted libraries compromise software integrity?
ID118

A:: =============================================
By introducing vulnerabilities or malicious code into the application.

Example: Using a compromised npm package that steals user data.

Q:: =============================================

What risks do insecure CI/CD pipelines pose?
ID119

A:: =============================================
They can allow unauthorized code changes or malicious injections during deployment.

Example: An attacker accessing an unsecured Jenkins server to inject malware into builds.

Q:: =============================================

Why is auto-update functionality a potential security risk?
ID120

A:: =============================================
It may apply unverified updates, potentially distributing malware.

Example: A fake update server tricking applications into installing malicious code.

Q:: =============================================

What is insecure deserialization?
ID121

A:: =============================================
Converting serialized data to objects without proper security checks.

Example: A Java application deserializing user-supplied data without validation, allowing code execution.

Chapter 2 - How to Prevent?

Q:: =============================================

How can digital signatures prevent integrity failures?
ID122

A:: =============================================
By verifying the authenticity and integrity of software or data.

Example: Verifying a downloaded software package's GPG signature before installation.

Q:: =============================================

Why is code review important for preventing integrity failures?
ID123

A:: =============================================
It helps catch malicious code or configuration changes before they're deployed.

Example: A team member spotting a suspicious API call during a pull request review.

Q:: =============================================

How can serialized data transmission be made more secure?
ID124

A:: =============================================
By adding integrity checks or digital signatures to detect tampering.

Example: Using HMAC to sign JSON Web Tokens before sending them to clients.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is demonstrated in this scenario?

Many home routers, set-top boxes, device firmware, and others do not verify updates via signed firmware. Unsigned firmware is a growing target for attackers and is expected to only get worse. This is a major concern as many times there is no mechanism to remediate other than to fix in a future version and wait for previous versions to age out.

ID125

A:: =============================================
A08 Software and Data Integrity Failures

Q:: =============================================

Can you identify the type of attack happening here?

Nation-states have been known to attack update mechanisms, with a recent notable attack being the SolarWinds Orion attack. The company that develops the software had secure build and update integrity processes. Still, these were able to be subverted, and for several months, the firm distributed a highly targeted malicious update to more than 18,000 organizations, of which around 100 or so were affected. This is one of the most far-reaching and most significant breaches of this nature in history.

ID126

A:: =============================================
A08 Software and Data Integrity Failures

Q:: =============================================

What kind of attack is described in this situation?

A React application calls a set of Spring Boot microservices. Being functional programmers, they tried to ensure that their code is immutable. The solution they came up with is serializing the user state and passing it back and forth with each request. An attacker notices the "rO0" Java object signature (in base64) and uses the Java Serial Killer tool to gain remote code execution on the application server.

ID127

A:: =============================================
A08 Software and Data Integrity Failures

Part X - A09:2021-Security Logging and Monitoring Failures

icon

Chapter 1 - Overview

Q:: =============================================

What are "Security Logging and Monitoring Failures" in OWASP Top 10 2021?
ID128

A:: =============================================
Inadequacies in tracking and responding to security events and incidents.

Example: A system that doesn't log failed login attempts, making it hard to detect brute force attacks.

Q:: =============================================

Why is security logging and monitoring crucial?
ID129

A:: =============================================
To detect, escalate, and respond to active breaches quickly.

Example: Using log analysis to identify a data exfiltration attempt in real-time.

Q:: =============================================

Why are clear and adequate log messages important?
ID130

A:: =============================================
To quickly understand and respond to potential security issues.

Example: A log message stating "User 'john_doe' failed login 5 times in 2 minutes" instead of just "Login error".

Q:: =============================================

What's the risk of storing logs only locally?
ID131

A:: =============================================
Loss of critical data if the local system is compromised or fails.

Example: An attacker deleting local logs to cover their tracks after a successful intrusion.

Q:: =============================================

How can penetration testing improve monitoring?
ID132

A:: =============================================
By ensuring monitoring systems can detect and alert on simulated attacks.

Example: Verifying that a web application firewall alerts on SQL injection attempts during a pentest.

Q:: =============================================

Why is real-time attack detection crucial?
ID133

A:: =============================================
To minimize damage by enabling immediate response to security incidents.

Example: Automatically blocking an IP address when it starts a DDoS attack.

Q:: =============================================

What's the importance of log retention policies?
ID134

A:: =============================================
To ensure logs are available for future forensic analysis if needed.

Example: Keeping authentication logs for 90 days to investigate potential past breaches.

Q:: =============================================

How can log integrity be ensured?
ID135

A:: =============================================
By using tamper-evident logging mechanisms and secure storage.

Example: Using blockchain technology to create an immutable audit log of system changes.

Chapter 2 - How to Prevent?

Q:: =============================================

What should be logged for security-related events?
ID136

A:: =============================================
All login attempts, access control, and server-side input validation failures with sufficient context.

Example: Logging failed login attempts with username, IP address, and timestamp.

Q:: =============================================

Why use standardized log formats?
ID137

A:: =============================================
To ensure easy consumption by log management solutions for efficient analysis.

Example: Using the Common Log Format for web server logs to facilitate processing by various tools.

Q:: =============================================

How can log injection attacks be prevented?
ID138

A:: =============================================
By properly encoding log data to prevent manipulation of log content or systems.

Example: Escaping special characters in user input before including it in log messages.

Q:: =============================================

What are integrity controls for high-value transactions?
ID139

A:: =============================================
Mechanisms to prevent tampering or deletion of audit trails for critical operations.

Example: Using an append-only database table to store financial transaction logs.

Q:: =============================================

How can DevSecOps teams enhance security monitoring?
ID140

A:: =============================================
By implementing effective monitoring and alerting systems for quick incident detection and response.

Example: Setting up a SIEM system to correlate logs from various sources and generate alerts.

Q:: =============================================

Why is an incident response plan important?
ID141

A:: =============================================
To ensure a coordinated and effective approach to handling security incidents.

Example: Having a documented process for responding to a detected data breach, including roles and communication protocols.

Q:: =============================================

How can log confidentiality be maintained?
ID142

A:: =============================================
By encrypting sensitive log data and controlling access to log storage systems.

Example: Encrypting logs containing personal data before transmitting them to a central log server.

Q:: =============================================

What role do log reviews play in security?
ID143

A:: =============================================
Regular log reviews can help identify security issues and improve monitoring processes.

Example: Weekly reviews of failed login attempts to identify potential brute force attack patterns.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is illustrated in this scenario?

A children's health plan provider's website operator couldn't detect a breach due to a lack of monitoring and logging. An external party informed the health plan provider that an attacker had accessed and modified thousands of sensitive health records of more than 3.5 million children. A post-incident review found that the website developers had not addressed significant vulnerabilities. As there was no logging or monitoring of the system, the data breach could have been in progress since 2013, a period of more than seven years.

ID144

A:: =============================================
A09 Security Logging and Monitoring Failures

Q:: =============================================

Can you identify the type of attack happening here?

A major Indian airline had a data breach involving more than ten years' worth of personal data of millions of passengers, including passport and credit card data. The data breach occurred at a third-party cloud hosting provider, who notified the airline of the breach after some time.

ID145

A:: =============================================
A09 Security Logging and Monitoring Failures

Q:: =============================================

What kind of attack is described in this situation?

A major European airline suffered a GDPR reportable breach. The breach was reportedly caused by payment application security vulnerabilities exploited by attackers, who harvested more than 400,000 customer payment records. The airline was fined 20 million pounds as a result by the privacy regulator.

ID146

A:: =============================================
A09 Security Logging and Monitoring Failures

Part XI - A10:2021-Server-Side Request Forgery

icon

Chapter 1 - Overview

Q:: =============================================

What is "Server-Side Request Forgery (SSRF)" in OWASP Top 10 2021?
ID147

A:: =============================================
An attack where an application is tricked into making unintended server-side requests.

Example: An attacker manipulating a URL parameter to make an internal API call to delete user data.

Q:: =============================================

How does cloud computing increase SSRF risks?
ID148

A:: =============================================
Cloud architectures often have complex internal networks vulnerable to SSRF.

Example: An SSRF vulnerability allowing access to other customers' data in a multi-tenant cloud environment.

Q:: =============================================

What makes SSRF detection challenging?
ID149

A:: =============================================
The malicious requests often appear to come from legitimate internal sources.

Example: An SSRF attack mimicking normal API calls between microservices.

Q:: =============================================

How can SSRF lead to data breaches?
ID150

A:: =============================================
By allowing attackers to access and exfiltrate sensitive internal data.

Example: Using SSRF to retrieve and leak customer information from an internal database.

Q:: =============================================

What role does input validation play in preventing SSRF?
ID151

A:: =============================================
Proper validation can prevent malicious URLs from being processed.

Example: Whitelisting allowed domains for a URL fetching feature to prevent SSRF.

Q:: =============================================

How can SSRF impact containerized environments?
ID152

A:: =============================================
It may allow access to the host system or other containers.

Example: An SSRF vulnerability in a container allowing access to the Docker socket on the host.

Q:: =============================================

Why is SSRF particularly dangerous in microservices architectures?
ID153

A:: =============================================
It can allow attackers to move laterally between different services.

Example: Using SSRF in one microservice to attack another internal service not exposed externally.

Chapter 2 - How to Prevent?

Q:: =============================================

How can network segmentation reduce SSRF risks?
ID154

A:: =============================================
By isolating remote resource access functionality in separate networks.

Example: Placing web servers in a DMZ, separate from internal application servers.

Q:: =============================================

Why establish ownership for firewall rules?
ID155

A:: =============================================
To ensure proper management and regular review of access controls.

Example: Assigning each firewall rule to a specific team or application owner.

Q:: =============================================

How does logging network flows help prevent SSRF?
ID156

A:: =============================================
By providing visibility into potential SSRF attempts and anomalies.

Example: Logging all blocked requests to internal resources from web servers.

Q:: =============================================

Why avoid sending raw responses to clients?
ID157

A:: =============================================
To prevent exposure of sensitive information obtained through SSRF.

Example: Sanitizing error messages before sending them to the client.

Q:: =============================================

Why disable HTTP redirections for SSRF prevention?
ID158

A:: =============================================
To prevent the application from being tricked into accessing malicious sites.

Example: Disabling automatic following of 3xx redirect responses in HTTP clients.

Q:: =============================================

How can URL consistency awareness prevent attacks?
ID159

A:: =============================================
By mitigating risks like DNS rebinding and TOCTOU race conditions.

Example: Verifying that the resolved IP address matches the expected domain.

Q:: =============================================

Why are deny lists ineffective against SSRF?
ID160

A:: =============================================
Attackers have techniques to bypass these measures.

Example: Using URL encoding to bypass a blacklist of prohibited characters.

Q:: =============================================

Why minimize services on front-end systems?
ID161

A:: =============================================
To reduce the attack surface exposed to potential SSRF attempts.

Example: Keeping only the web server on the front-end, moving application logic to separate servers.

Q:: =============================================

When should you consider using VPNs for frontend access?
ID162

A:: =============================================
For scenarios with high protection needs and manageable user groups.

Example: Using a VPN for admin access to a high-security financial application.

Chapter 3 - Example Attack Scenarios

Q:: =============================================

What type of attack is demonstrated in this scenario?

Port scan internal servers – If the network architecture is unsegmented, attackers can map out internal networks and determine if ports are open or closed on internal servers from connection results or elapsed time to connect or reject SSRF payload connections.

ID163

A:: =============================================
A10 Server Side Request Forgery (SSRF)

Q:: =============================================

Can you identify the type of attack happening here?

Sensitive data exposure – Attackers can access local files or internal services to gain sensitive information such as file:///etc/passwd and http://localhost:28017/.

ID164

A:: =============================================
A10 Server Side Request Forgery (SSRF)

Q:: =============================================

What kind of attack is described in this situation?

Access metadata storage of cloud services – Most cloud providers have metadata storage such as http://169.254.169.254/. An attacker can read the metadata to gain sensitive information.

ID165

A:: =============================================
A10 Server Side Request Forgery (SSRF)

Q:: =============================================

What type of attack is being demonstrated here?

Compromise internal services – The attacker can abuse internal services to conduct further attacks such as Remote Code Execution (RCE) or Denial of Service (DoS).

ID166

A:: =============================================
A10 Server Side Request Forgery (SSRF)


DECK INFO

TARGET DECK: Web Security::OWASP Top 10::OAOT - Anki owasp top 10 - owasp

FILE TAGS: #OWASP::#OWASP-Top-10::#Web-Security

Reference:

Related:

LIST
where file.name = this.file.name

About

πŸ“˜ Anki's version of OWSAP Top 10. The OWASP Top 10 πŸͺ² is a standard awareness document for developers and web application security. It represents a broad consensus about the most critical security risks to web applications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published