software exploitation
zero-day exploit
input validation attack
• Injection—the attacker embeds code within the input or appends code to it that executes when the server processes the submission.
arbitrary code
attacker may be able to use the exploit to obtain sufficient privileges to run whatever malware (or arbitrary code) he or she chooses
buffer overflow vulnerability
integer overflow attack
race conditions
pointer
memory leaks
particularly serious in service/background applications, as they will continue to consume memory over an extended period. Memory leaks in the OS kernel are also extremely serious. A memory leak may itself be a sign of a malicious or corrupted process
Dynamic Link Library (DLL)
DLL injection
refactoring
means that the code performs the same function by using different methods (control blocks, variable types, and so on)
shim
arbitrary code execution
purpose of the attacks against application or coding vulnerabilities is to allow the attacker to run his or her own code on the system
remote code execution
privilege escalation
SQL injection attack
directory traversal
transitive access
Cross-Site Scripting (XSS)
Document Object Model (DOM)
client-side scripts use the Document Object Model (DOM) to modify the content and layout of a web page. For example, the “document.write” method enables a page to take some user input and modify the page accordingly. An attacker could submit a malicious script as input and have the page execute the script. Such exploits can be very powerful as they run with the logged in user’s privileges of the local system.
cookie
Cross-Site Request Forgery (XSRF)
Locally Shared Objects (LSOs) or Flash cookies
data that is stored on a user’s computer by websites that use Adobe® Flash® Player. A site may be able to track a user’s browsing behavior through LSOs, causing a breach of privacy. Even if a user wipes tracking objects from their browser, LSOs may remain on their system.