Application Attacks Flashcards
What is an Injection?
An attack in which the attack supplies untrusted input to a program.
What are the 5 types of of Application Attacks?
1) Structured query language (SQL)
2) Lightweight directory access protocol (LDAP)
3) Extensible markup language (XML)
4) Dynamic link library (DLL)
5) Command Injection
What is a SQL Injection?
An attack that injects malicious SQL code into an application, allowing the attacker to view or modify a database.
What is an LDAP Injection?
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.
What is an XML Injection?
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.
What is a DLL Injection?
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.
What is a memory leak?
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.
How do Application Attacks attempt to take advantage of Resources and Memory?
They attempt to exhaust resources and cause memory leaks.
What is a Driver Manipulation attack?
A sophisticated attack in which a program attempts to modify a driver’s functionality. The program exploits the legitimate purpose of the driver.
What is Shimming?
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.
What is Refactoring?
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.
What are Race Conditions?
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.
What is Time-of-Check to Time-of-Use (TOCTOU)?
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.
What is a Pointer/Object Dereference?
A common practice in some programming languages. It allows access to memory. It can be used to execute a code or in a DOS attack.
What is an Integer Overflow?
When you attempt to store inside an integer variable a value that is larger than the maximum value the variable can hold.