Application Attacks Flashcards

1
Q

What is Privilege escalation

A

Vertical privilege escalation (or elevation) is where a user or application can access functionality or data that should not be available to them. For instance, a process might run with local administrator privileges, but a vulnerability allows the arbitrary code to run with higher system privileges.
Horizontal privilege escalation is where a user accesses functionality or data that is intended for another user. For instance, via a process running with local administrator privileges on a client workstation, the arbitrary code is able to execute as a domain account on an application server.

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

What is Cross-site scripting

A

Exploits the fact that the browser is likely to trust scripts that appear to come from a site the user has chosen to visit.

Cross-Site Scripting (XSS) attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted websites.

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

What is Injections

A

Can target other types of protocol where the application takes user input to construct a query, filter, or document.

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

What is Structured query language (SQL) injection attack

A

In a SQL injection attack, the threat actor modifies one or more of these four basic functions by adding code to some input accepted by the app, causing it to execute the attacker’s own set of SQL queries or parameters.

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

What is Dynamic link library (DLL)

A

Is a binary package that implements some sort of standard functionality, such as establishing a network connection or performing cryptography.
DLL injection is a vulnerability in the way the operating system allows one process to attach to another. This functionality can be abused by malware to force a legitimate process to load a malicious link library.

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

What is Lightweight directory access protocol (LDAP) injection attack

A

Another example of a query language. LDAP is specifically used to read and write network directory databases. A threat actor could exploit either unauthenticated access or a vulnerability in a client app to submit arbitrary LDAP queries.

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

What is Extensible markup language (XML) injection attack

A

Is used by apps for authentication and authorizations, and for other types of data exchange and uploading. Data submitted via XML with no encryption or input validation is vulnerable to spoofing, request forgery, and injection of arbitrary data or code.

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

What is Pointer/object dereference

A

A pointer is a variable that stores a memory location, rather than a value. Attempting to read or write that memory address via the pointer is called dereferencing. If the memory location is invalid or null (perhaps by some malicious process altering the execution environment), this creates a null pointer dereference type of exception, and the process will crash, probably. In some circumstances, this might also allow a threat actor to run arbitrary code.

A race condition is one means of engineering a null pointer dereference exception.

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

What is Directory traversal

A

Another type of injection attack performed against a web server. The threat actor submits a request for a file outside the web server’s root directory by submitting a path to navigate to the parent directory (../). This attack can succeed if the input is not filtered properly and access permissions on the file are the same as those on the web server directory.

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

What is Buffer overflows

A

A buffer is an area of memory that the application reserves to store expected data. To exploit a buffer overflow vulnerability, the attacker passes data that deliberately overfills the buffer. One of the most common vulnerabilities is a stack overflow.

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

What is Race conditions

A

Occur when the outcome from an execution process is directly dependent on the order and timing of certain events, and those events fail to execute in the order and timing intended by the developer.

A race condition is one means of engineering a null pointer dereference exception.

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

What is Time of check/time of use

A

A time of check to time of use (TOCTTOU) race condition occurs when there is a change between when an app checked a resource and when the app used the resource. This change invalidates the check. An attacker that can identify a TOCTTOU vulnerability will attempt to manipulate data after it has been checked but before the application can use this data to perform some operation.

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

What is Error handling

A

An application attack may cause an error message. In Windows, this may be of the following types: “Instruction could not be read or written,” “Undefined exception,” or “Process has encountered a problem.” One issue for error handling is that the application should not reveal configuration or platform details that could help an attacker. For example, an unhandled exception on a web application might show an error page that reveals the type and configuration of a database server.

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

What is Improper input handling

A

Most software accepts user input of some kind, whether the input is typed manually or passed to the program by another program, such as a browser passing a URL to a web server or a Windows process using another process via its application programming interface. Good programming practice dictates that input should be tested to ensure that it is valid; that is, the sort of data expected by the receiving process. Most application attacks work by passing invalid or maliciously constructed data to the vulnerable process. There are many ways of exploiting improper input handling, but many attacks can be described as either overflow-type attacks or injection-type attacks.

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

What is Replay attack

A

An attack where the attacker intercepts some authentication data and reuses it to try to re-establish a session.
Works by sniffing or guessing the token value and then submitting it to re-establish the session illegitimately.

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

What is Session replays

A

Is the ability to replay a visitor’s journey on a web site or within a mobile application or web application.

17
Q

What is Integer overflow

A

An integer is a positive or negative number with no fractional component (a whole number). Integers are widely used as a data type, where they are commonly defined with fixed lower and upper bounds. An integer overflow attack causes the target software to calculate a value that exceeds these bounds. This may cause a positive number to become negative (changing a bank debit to a credit, for instance). It could also be used where the software is calculating a buffer size; if the attacker is able to make the buffer smaller than it should be, he or she may then be able to launch a buffer overflow attack.

18
Q

What is Request forgeries

A

A malicious script hosted on the attacker’s site that can exploit a session started on another site in the same browser.

19
Q

What is Server-side

A

A web security vulnerability that allows an attacker to induce the server-side application to make HTTP requests to an arbitrary domain of the attacker’s choosing.

20
Q

What is Cross-site

A

An attack that forces an end user to execute unwanted actions on a web application in which they’re currently authenticated.

21
Q

What is Application programming interface (API) attacks

A

An API attack is abusive or manipulative usage or attempted usage of an API, commonly used to breach data or manipulate a commerce solution. The growth of APIs (application programming interfaces) is more important than ever. It can lead to malicious traffic growth, consequently.

22
Q

What is Resource exhaustion

A

Resources refers to CPU time, system memory allocation, fixed disk capacity, and network utilization. A malicious process could spawn multiple looping threads to use up CPU time, or write thousands of files to disk. Distributed attacks against network applications perform a type of resource exhaustion attack by starting but not completing sessions, causing the application to fill up its state table, leaving no opportunities for genuine clients to connect.

23
Q

What is Memory leak

A

A software vulnerability that can occur when software does not release allocated memory when it is done using it, potentially leading to system instability.

24
Q

What is Secure sockets layer (SSL) stripping

A

SSL Stripping or an SSL Downgrade Attack is an attack used to circumvent the security enforced by SSL certificates on HTTPS-enabled websites. In other words, SSL stripping is a technique that downgrades your connection from secure HTTPS to insecure HTTP and exposes you to eavesdropping and data manipulation.

25
Q

What is Driver manipulation

A

Operating systems use drivers to interact with hardware devices or software components. For example, when you print a page using Microsoft Word, Word accesses the appropriate print driver via the Windows operating system.

26
Q

What is Shimming

A

The process of developing and implementing additional code between an application and the operating system to enable functionality that would otherwise be unavailable.

27
Q

What is Refactoring

A

The process of restructuring application code in such a way that the same functionality is provided by different programming methods. Refactoring is often used to improve an application’s design without affecting the external behavior of the application, or to enable it to handle particular situations.

28
Q

What is Pass the hash

A

A network-based attack where the attacker steals hashed user credentials and uses them as-is to try to authenticate to the same network the hashed credentials originated on.