1.3 - Application Attacks Flashcards

1
Q

Define privilege escalation attack.

A

A cyberattack to gain illicit access of elevated rights, permissions, entitlements, or privileges beyond what is assigned for an identity, account, user, or machine.

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

Define horizontal privilege escalation.

A

When someone obtains the permissions that someone else in the same group has.

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

List a few ways that you can mitigate privilege escalation.

A

1) Patch quickly
2) Updated anti-virus/anti-malware software
3) Data execution prevention
- Only data in executable areas can run
4) Address space layout randomization
- Prevent a buffer overrun at a known memory
address

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

What is Cross-site Scripting(XSS)?

A

A type of attack that injects some kind of malicious script that is executed in the web browser.

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

Name three types of Cross-Site Scripting (XSS).

A

1) Reflected XSS
2) Stored XSS
3) DOM-based XSS

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

What is a Reflected XSS attack?

A

When a malicious script is reflected off a web application to the victim’s browser. The script is activated through a link, which sends a request to a website with a vulnerability that enables execution of malicious scripts. Comes from the current HTTP request.

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

What is a DOM-based XSS attack?

A

When the attack payload is executed as a result of modifying the DOM “environment “ in the victim’s browser used by the original client side script, so that the client side code runs in an “unexpected” manner. Exists in the client-side code rather than server-side code.

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

What is a Stored XSS attack?

A

When an application receives data from an untrusted source and includes that data within its later HTTP responses in an unsafe way. This is only possible if your application is designed to store user input (a message board or social media website).

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

List a few ways to protect against XSS.

A

1) Be careful when clicking untrusted links
2) Consider disabling JavaScript
3) Keep your browser and applications updated
4) Validate input
- Don’t allow users to add their own scripts to an
input field

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

Define a code injection attack.

A

When someone puts their own code inside of an application. This is possible due to bad programming.

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

Define a SQL injection.

A

An attack that injects malicious SQL code into an application, allowing the attacker to view or modify a database.

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

What is an LDAP Injection?

A

An attack in which queries are constructed from untrusted input without prior validation or sanitization. Arbitrary commands can be used to grant permission to unauthorized queries and modify content within the LDAP tree. Similar to a SQL injection.

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

What is an XML Injection?

A

An attack technique used to manipulate or compromise the logic of an XML application or service. The injection of unintended XML content and/or structures into an XML message can alter the intended logic of the application to perform unauthorized actions or access sensitive data.

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

What is a DLL Injection?

A

An attack technique that allows users to run any code in the memory of another process, by forcing the process to load a foreign DLL file. This can allow for unauthorized actions.

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

Define a buffer overflow.

A

Occurs when the amount of data in the buffer exceeds its storage capacity. That extra data overflows into adjacent memory locations and corrupts or overwrites the data in those locations.

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

Define replay attack.

A

A type of network attack in which an attacker captures a valid network transmission and then transmits it later. The main objective is to trick the system into accepting the retransmission of the data as a legitimate one.

17
Q

Define a pass the hash attack.

A

A type of replay attack in which an attacker captures a password hash (as opposed to the password characters) and then passes it through for authentication and lateral access to other networked systems.

18
Q

Identify some ways that you can prevent a pass the hash attack.

A

1) Salting the hash
2) Encryption
3) Use a session ID with the password hash to create
a unique authentication hash each time

19
Q

Define session hijacking.

A

A method of taking over a web user session by surreptitiously obtaining the session ID and masquerading as the authorized user.

20
Q

Identify a few ways to prevent replay attacks.

A

1) Encrypt end-to-end
- HTTPS
2) Encrypt end-to-somewhere
- VPN

21
Q

What is Cross-site Request Forgery?

A

An attack that forces an end user to execute unwanted actions on a web application in which they’re currently authenticated. With a little help of social engineering, an attacker may trick the users of a web application into executing actions of the attacker’s choosing.

22
Q

What is Server-side Request Forgery?

A

An attacker abuses server functionality to access or modify resources. The server is tricked into making HTTP requests to internal resources or other servers on behalf of the attacker.

23
Q

What is a Driver Manipulation attack?

A

A sophisticated attack in which a program attempts to modify a driver’s functionality. The program exploits the legitimate purpose of the driver.

24
Q

What is Shimming?

A

An application attempts to call an older driver, and the OS intercepts the call and redirects it to run the shim code instead. A driver shim is additional code that can be run instead of the original driver. Shimming provides the solution that makes it appear that the older drivers are compatible.

25
Q

What is Refactoring?

A

The process of rewriting the internal processing of the code, without changing its external behavior. It is usually done to correct problems related to software design.

26
Q

Define metamorphic malware.

A

Malware that is different each time it is downloaded in order to stay outside of anti-malware definitions. Can intelligently redesign itself. Uses refactoring.

27
Q

Define an SSL stripping/ HTTP downgrade attack.

A

A combination of an on-path (mitm) attack with a downgrade attack. Modifies data between the victim and the web server to downgrade it to something with weak or no encryption.

The website visitor will send an HTTP request, and when the website sends back a request for them to use HTTPS, the attacker will intercept it and set up an HTTPS session with the website. They will decrypt for the visitor and receive any data in the middle.

28
Q

What are Race Conditions?

A

An undesirable situation that occurs when a device or system attempts to performs two or more operations at the same time, but because of the nature of the device or system, the operations must be done in the proper sequence to be done correctly.

29
Q

What is Time-of-Check to Time-of-Use (TOCTOU)?

A

A file-based race condition that occurs when a resource is checked for a particular value, such as whether a file exists or not, and that value then changes before the resource is used, invalidating the results of the check.

Can be when multiple people access a resource at the same time and one of them makes changes.

30
Q

What is a memory leak?

A

A type of resource leak that occurs when a computer program incorrectly manages memory allocations in a way that memory which is no longer needed is not released.

31
Q

Define NULL Pointer dereference.

A

A programming technique that references a portion of the memory. Application crashes and debug information is displayed when that reference points to nothing. This can cause a DoS.

32
Q

What is an Integer Overflow?

A

When you attempt to store inside an integer variable a value that is larger than the maximum value the variable can hold.

33
Q

Define a directory traversal/ path traversal attack.

A

An attack that takes advantage of a web server software vulnerability that allows the attacker to browse past the web server root, outside of the website’s file directory.

34
Q

What are some examples of improper error handling?

A

1) Too much detail
2) Network information
3) Memory dump
4) Stack traces
5) Database dump

35
Q

How should input be handled in an application?

A

All input should be considered malicious.

36
Q

What are some examples of consequences of improper input handling?

A

SQL injections, buffer overflows, DoS

37
Q

Define a resource exhaustion attack.

A

A specialized DoS attack that uses up a computer or server’s resources.

Ex. ZIP bomb: a 42 kilobyte .zip compressed file uncompresses to 4.5 petabytes

38
Q

Define a DHCP starvation.

A

Attacker floods a network with IP address requests to exhaust the list of DHCP addresses.

39
Q
A