3.4 Attacks & exploits: Application vulnerabilities Flashcards

1
Q

What is Server-Side Request Forgery (SSRF)?

A

▪ A type of attack that takes advantage of the trust relationship between the server and the other resources it can access
▪ Occurs when a web app fetches a remote resource without validating the URL

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

How to prevent from a Server-Side Request Forgery (SSRF)?

A

● Segment remote resource access functionality into separate networks
● Enforce a deny by default firewall or ACL policy
● Ensure web apps sanitize and validate any client-supplied input data

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

Race Conditions: what is it and explain how it technically occurs?

A

▪ Occurs when the resulting outcome from execution processes is directly dependent on the order and timing of certain events, which then failed to execute in the order and timing intended by the developer
▪ Occurs when a computer tries to race itself in the processing of certain data
▪ Found where multiple threads attempt to write to a variable or object at the same memory location
▪ Race conditions often happen outside the normally logged processes in a system

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

Race Conditions: what is Dereferencing?

A

Occurs when the code attempts to remove the relationship between a pointer and the thing it points to

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

Race Conditions: what is TOCTOU?

A

Occurs when there is a change between when an app checks a resource and when the app uses the resource

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

Race Conditions: what is Mutually Exclusive Flag (Mutex)?

A

Acts as a gatekeeper to a section of code so that only one thread can be processed at a time

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

Race Conditions: what is Deadlock?

A

Occurs when a lock cannot be removed from the resource

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

Race Conditions: how to prevent from mutexes and locks?

A

Properly design and test any locks or mutexes

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

Buffer Overflows: what is it?

A

▪ Occurs when a process stores data outside the memory range allocated by the developer
▪ Over 85% of data breaches were caused by a buffer overflow

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

Buffer Overflows: what is a Buffer?

A

A temporary storage area that a program uses to store data

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

Buffer Overflows: what is a stack?

A

Reserved area of memory where the program saves the return address when a function call instruction is received

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

Buffer Overflows: what “Smashing the Stack” means?

A

Occurs when an attacker fills up the buffer with NOP instructions

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

Buffer Overflows: what is Non-Operation (NOP) Instruction?

A

Tells the system to do nothing and simply go to the next instruction

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

Buffer Overflows: how to prevent from overflows attacks (4)?

A

▪ Maintain a good patch management program
▪ Always use secure coding practices: Boundary checking & Input validation
▪ Use Address Space Layout Randomization (ASLR): Prevents an attacker’s ability to guess where the return pointer for a non-malicious program has been set to call back to
▪ Use Data Execution Protection (DEP): Blocks applications that attempt to run from protected memory locations so executable code stored in the user data location will be marked as non-executable

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

Buffer Overflows: what is an Integer Overflow and what are its consequences?

A

▪ Occurs when a computed result from an operation is too large to fit into its assigned variable type for storage
▪ Integer overflows and buffer overflows can lead to arbitrary code execution, and in turn, privilege escalations

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

Authentication and References: what is Broken Authentication in OWASP?

A

Insecure authentication mechanisms that can allow an attacker to gain entry

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

Authentication and References: how to prevent from Broken Authentication attacks (7)?

A

▪ Utilize multi-factor authentication
▪ Never use default credentials
▪ Verify passwords are strong and not found on published password exploitation lists
▪ Use limits or delays to slow failed login attempts and brute force attempts
▪ Use server-side session management and long and randomized session identifiers
▪ Never pass a session identifier as a URL parameter
▪ Implement session timeouts and expiring session identifications

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

Authentication and References: what is Insecure Direct Object Reference?

A

Used to manipulate URLs to gain access to a resource without requiring proper authentication

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

Authentication and References: how to prevent from Insecure Direct Object Reference (2)?

A

● Always use secure coding practices
● Always implement proper access control techniques to verify a user’s authorization

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

Improper Headers: what HTTP Response Headers are used for and from what attacks are they helping to protect (6)?

A

Used to control how web servers operate to increase security during operations. It protects against:
● Cross site request forgery
● Cross site scripting
● Downgrade attack
● Cookie hijacking
● User impersonation
● Clickjacking

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

Improper Headers: what is HTTP Strict Transport Security (HSTS) for when it is set in HTTP Response Headers?

A

Allows a web server to notify web browsers to only request using HTTPS and not HTTP

22
Q

Improper Headers: what is HTTP Public Key Pinning (HPKP) for when it is set in HTTP Response Headers?

A

Allows HTTPS websites to resist impersonation by attackers using mis-issued or fraudulent certificates

23
Q

Improper Headers: what is X-Frame-Options for when it is set in HTTP Response Headers?

A

Prevents clickjacking from occurring

24
Q

Improper Headers: what is X-XSS-Protection for when it is set in HTTP Response Headers?

A

Enables cross site scripting filter in the web browser

25
Q

Improper Headers: what is X-Content-Type-Options for when it is set in HTTP Response Headers?

A

Prevents the browser from interpreting files as something other than what they are

26
Q

Improper Headers: what is Content-Security-Policy (CSP) for when it is set in HTTP Response Headers?

A

Impacts how web browsers render pages

27
Q

Improper Headers: what is X-Permitted-Cross-Domain-Policies for when it is set in HTTP Response Headers?

A

Sends a cross-domain policy file to the web client and specifies if the browser has permission to handle data across domains

28
Q

Improper Headers: what is Referrer-Policy for when it is set in HTTP Response Headers?

A

Governs which referrer information should be included with requests made

29
Q

Improper Headers: what is Expect-CT for when it is set in HTTP Response Headers?

A

Indicates browsers to evaluate connections to the host emitting the header for Certificate Transparency compliance

30
Q

Improper Headers: what is Feature-Policy for when it is set in HTTP Response Headers?

A

Allows developers to selectively enable and disable use of various browser features and APIs

31
Q

Code Signing: what is it?

A

Digitally signing executables and scripts to confirm the software author and guarantee code has not been altered. Code signing just validates that the code is ready for distribution

32
Q

Vulnerable Components: list the vulnerable component in web applications (9):

A

o Client-Side Processing
o Server-Side Processing
o JavaScript Object Notation/Representational State Transfer (JSON REST)
o SOAP and XML
o Browser Extension
o Hypertext Markup Language (HTML5)
o Asynchronous JavaScript and XML (AJAX)
o Machine Code
o Bytecode

33
Q

Vulnerable Components: what is Client-Side Processing vulnerable component in web applications?

A

Puts the load on the end user’s machine instead of the server

34
Q

Vulnerable Components: what is Server-Side Processing vulnerable component in web applications?

A

Considered to be more secure and trustworthy for most use cases

35
Q

Vulnerable Components: explain JavaScript Object Notation/Representational State Transfer (JSON REST) vulnerable component in web applications?

A

▪ Representational State Transfer (REST): A client/server model for interacting with content on remote systems over HTTP
▪ JavaScript Object Notation (JSON): A text-based message format used with RESTful web service
▪ REST and JSON: Mobile devices
▪ SOAP and XML: Security/transactional services

36
Q

Vulnerable Components: explain SOAP and XML vulnerable component in web applications?

A

Simple Object Access Protocol (SOAP):
● Used for exchanging structural information for web services
● Conduct inspection and sanitization of inputs and outputs to the application

37
Q

Vulnerable Components: explain Browser Extension vulnerable component in web applications?

A

▪ Provides expanded functionality or features to a web browser
▪ Flash, ActiveX, JavaScript: Remove Adobe Flash installations on your network’s clients
▪ COM: Communication
▪ DCOM: Distribution
▪ Only install extensions from trusted vendors

38
Q

Vulnerable Components: explain Hypertext Markup Language (HTML5) vulnerable component in web applications and what it is vulnerable to (10)?

A

A powerful web application programing language that enables feature-rich applications. It is vulnerable to:
● Cross-domain messaging
● Cross-origin resource sharing
● Web sockets
● Server sent events
● Local, offline, and web storage
● Client-side databases
● Geolocation requests
● Web workers
● Tabnabbing
● Sandbox frames

39
Q

Vulnerable Components: explain Asynchronous JavaScript and XML (AJAX) vulnerable component in web applications?

A

▪ A grouping of related technologies used on the client side to create asynchronous web applications
▪ Same-origin policy
▪ AJAX is considered more secure than some other methods

40
Q

Vulnerable Components: explain Machine Code vulnerable component in web applications?

A

▪ Basic instructions written in machine language that can be directly executed by the CPU
▪ Specific to a type of processor and can only be run on the processor where it was compiled

41
Q

Vulnerable Components: explain Bytecode vulnerable component in web applications?

A

An intermediate form of code produced by a compiler that can be translated into machine code

42
Q

Software Composition: what is Software Composition Analysis and why is it related to security?

A

A process by which software can be analyzed for open-source component.
A vulnerability in a third-party dependency becomes a vulnerability in your application

43
Q

Software Composition: what frameworks can you use to build your software (8)?

A

▪ Apache Struts
▪ Microsoft .NET
▪ Ruby on Rails
▪ Ramaze
▪ Hibernate
▪ Django
▪ Twisted
▪ web.py

44
Q

Software Composition: what is Poor Exception Handling vulnerability in a software?

A

Occurs when a program is not written to anticipate problems or errors

45
Q

Software Composition: what is Security Misconfiguration vulnerability in a software?

A

Any issue related to poorly implemented or documented security controls

46
Q

Software Composition: what is Weak Cryptography Implementation vulnerability in a software?

A

▪ Occurs when an out-of-date algorithm or cipher is being used in a modern system
▪ Utilize a well-known and documented encryption standard

47
Q

Software Composition: what is Information Disclosure vulnerability in a software?

A

The act of stealing information from an application or during the communication process between two applications

48
Q

Software Composition: what is End of Support/End of Life Issues vulnerability in a software?

A

▪ End of Life: No longer sold
▪ End of Support: No longer updated

49
Q

Software Composition: what is Code Injection Issues vulnerability in a software?

A

▪ An exploitation technique that runs malicious code with identification of a legitimate process
▪ Ensure applications provide input and output validation

50
Q

Software Composition: what is Regression Issues Issues vulnerability in a software?

A

Occur when a source code is changed which may have introduced a new vulnerability or have broken some existing functionality

51
Q

Software Composition: what is Regression Testing Issues vulnerability in a software?

A

Validates any software change does not produce any unintended consequences