Section 10: Application Vulnerabilities Flashcards
Server-Side Request Forgery
▪ 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 to prevent SSRF
● 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
ASLR
Address Space Layout Randomization (ASLR)
o Prevents an attacker’s ability to guess where the return pointer for a non-malicious program has been set to call back to
Data Execution Protection (DEP)
Blocks applications that attempt to run from protected
memory locations
Executable code stored in the user data location will be marked as
non-executable
Stack
Reserved area of memory where the program saves the return address when a function call instruction is received
Insecure Direct Object Reference
Used to manipulate URLs to gain access to a resource without requiring proper authentication
https://bank.com/account.php?acct=1234
JSON REST vs SOAP + XML
Representational State Transfer (REST)
● A client/server model for interacting with content on remote
systems over HTTP
Simple Object Access Protocol (SOAP)
● Used for exchanging structural information for web services
REST and JSON
● Mobile devices
▪ SOAP and XML
● Security/transactional services
Machine Code
▪ 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
Bytecode
▪ An intermediate form of code produced by a compiler that can be translated into machine code
This is used to make code cross-platform so it can be run on many devices (Windows vs MacOS)