1/12
Vocabulary flashcards covering core web security concepts, browser security boundaries, and common web application vulnerabilities.
Buffer Overflow
A memory vulnerability where oversized input exceeds an allocated array, overwriting adjacent stack memory such as frame pointers and return addresses to alter control flow.
Integer Overflow
An arithmetic condition where a numerical operation exceeds its maximum representable limit and silently wraps around, resulting in corrupted calculation logic that can trigger downstream memory bugs.
Format String Vulnerability
A security flaw occurring when user input is passed directly as the format argument to functions like printf, enabling unauthorized reading of stack data or memory writes via %n.
ROP and JOP
Exploitation techniques that bypass non-executable memory by chaining together snippets of pre-existing executable machine instructions ending in ret or jmp to perform arbitrary operations.
Use-After-Free (UAF)
A memory safety issue where a program dereferences a pointer to heap memory that has already been deallocated, allowing attackers to access stale data or redirect control flow.
Double-Free
A heap corruption bug caused by calling free() twice on the same memory pointer, which damages memory allocator metadata and can lead to arbitrary write capabilities.
Stack Canary
A compiler-inserted random guard value placed before the return address that is checked upon function exit, terminating the program immediately if memory corruption is detected.
Position-Independent Executable (PIE)
A binary compiled with relative memory addressing so that the operating system can load its code segment at a randomized base address at runtime, mitigating hardcoded code reuse.
Relocation Read-Only (RELRO)
A binary protection mechanism that makes the Global Offset Table read-only after dynamic symbols are resolved, preventing attackers from hijacking function pointers.
NX-bit / DEP
A protection mechanism enforcing write-xor-execute memory permissions to ensure pages like the stack cannot be executed, neutralizing injected shellcode.
Address Space Layout Randomization (ASLR)
An operating system defense that randomizes the base memory addresses of the stack, heap, and shared libraries on execution to prevent attackers from predicting target locations.
Control Flow Integrity (CFI)
A defense mechanism that checks indirect branches and function returns against a pre-computed valid control flow graph, halting execution if an illegitimate jump is attempted.
checksec
A binary security auditing tool that inspects executable headers to determine which protections, including canaries, RELRO, NX, and PIE, are actively enabled.