CAP-PC ENS key terms
CAP-PC ENS · Get comfortable with the vocabulary.
- Insecure Direct Object Reference (IDOR)
- Related: Broken Access Control, Mass Assignment, Server-Side Request Forgery
A flaw where the application exposes an internal identifier such as a record number and trusts the client to send it back unchanged, letting an attacker read or modify another user's data by editing that value.
- Broken Access Control
- Related: Insecure Direct Object Reference (IDOR), Mass Assignment, Horizontal Privilege Escalation
Any failure to enforce who may perform an action or view a resource, including missing checks on the server, role confusion, and trust in client-supplied role or tenant fields. It consistently ranks as the top web application risk.
- Horizontal Privilege Escalation
- Related: Broken Access Control, Vertical Privilege Escalation, Insecure Direct Object Reference (IDOR)
Gaining access to resources belonging to a peer account at the same privilege level, typically by changing a user or tenant identifier. It differs from vertical escalation, which moves a user to a higher role.
- Vertical Privilege Escalation
- Related: Horizontal Privilege Escalation, Mass Assignment, Session Fixation
Raising one's own privilege level, for example from ordinary user to administrator, by abusing missing server-side checks, role parameters accepted from the client, or flaws in the authentication or session logic.
- Server-Side Request Forgery (SSRF)
- Related: Instance Metadata Service (IMDS), Allowlist Validation, Insecure Direct Object Reference (IDOR)
An attack that makes the server issue a request to a destination the attacker chooses, often reaching internal metadata services, admin panels, or cloud credentials that are unreachable from the internet.
- Cross-Site Scripting (XSS)
- Related: Content Security Policy (CSP), Output Encoding, Cross-Site Request Forgery (CSRF)
Injecting script into pages other users view, so it runs in their browser origin. Stored, reflected, and DOM-based variants differ in where the payload lives and which code path renders it unsafely.
- Content Security Policy (CSP)
- Related: Cross-Site Scripting (XSS), Output Encoding, Trusted Types
A response header that tells the browser which script, style, and network sources a page may use. A strict policy with nonces or hashes limits the impact of injection flaws but does not fix the underlying bug.
- Trusted Types
- Related: Content Security Policy (CSP), Cross-Site Scripting (XSS), Output Encoding
A browser enforcement mechanism that blocks assignment of plain strings to dangerous DOM sinks such as innerHTML unless a registered policy sanitizes them, turning DOM-based cross-site scripting into a load-time error.
- Cross-Site Request Forgery (CSRF)
- Related: SameSite Cookie, Cross-Site Scripting (XSS), Session Fixation
Forcing a logged-in victim's browser to send a state-changing request to a site that trusts the browser's ambient credentials. Defenses include synchronizer tokens, strict SameSite cookies, and origin checks.
- SameSite Cookie
- Related: Cross-Site Request Forgery (CSRF), Session Fixation, HTTP-Only Cookie
A cookie attribute controlling whether the browser attaches the cookie to cross-site requests. Lax and Strict modes block most cross-site form posts, reducing cross-site request forgery exposure, though not all browser and flow combinations behave identically.
- Session Fixation
- Related: Cross-Site Request Forgery (CSRF), Vertical Privilege Escalation, JSON Web Token (JWT)
An attack where the adversary plants a known session identifier in the victim's browser and, after the victim authenticates, reuses that same identifier to hijack the now-privileged session.
- JSON Web Token (JWT)
- Related: Algorithm Confusion Attack, Session Fixation, OAuth 2.0 Authorization Code Flow
A signed, base64url-encoded token carrying claims about a subject. Security depends on verifying the signature with the correct algorithm and key, and on never trusting unverified header or claim values.
- Algorithm Confusion Attack
- Related: JSON Web Token (JWT), OAuth 2.0 Authorization Code Flow
A JWT attack where a token signed with an asymmetric key is re-signed or presented using a symmetric algorithm, tricking a naive verifier into treating the public key as a shared secret and accepting a forged token.
- OAuth 2.0 Authorization Code Flow
- Related: JSON Web Token (JWT), Open Redirect, Algorithm Confusion Attack
The standard delegation flow where the client obtains a short-lived code and exchanges it, with its secret and a matching redirect URI, for tokens. Weak redirect validation or missing state checks enable token theft.
- Open Redirect
- Related: OAuth 2.0 Authorization Code Flow, Allowlist Validation, Server-Side Request Forgery (SSRF)
A parameter that sends users to an arbitrary external URL after login or logout. Beyond phishing, it can leak authorization codes or tokens when the redirect target is not strictly validated against an allowlist.
- Allowlist Validation
- Related: Server-Side Request Forgery (SSRF), Open Redirect, Path Traversal
Accepting only values that exactly match a predefined set of permitted items, such as hosts, schemes, or file types, rather than rejecting known-bad patterns. Preferred over blocklists because it fails closed.
- Mass Assignment
- Related: Broken Access Control, Vertical Privilege Escalation, Insecure Direct Object Reference (IDOR)
A framework behavior that binds every submitted request field onto an internal object, letting an attacker set fields such as role or verified status that the form never intended to expose.
- Path Traversal
- Related: Allowlist Validation, Remote Code Execution, Deserialization Vulnerability
Supplying sequences such as ../ or encoded equivalents so a file path escapes its intended directory, allowing reads or writes outside the web root when the resolved path is not canonicalized and checked.
- Output Encoding
- Related: Cross-Site Scripting (XSS), Content Security Policy (CSP), Trusted Types
Converting untrusted data into a representation safe for a specific context, such as HTML body, attribute, URL, or JavaScript string, so the browser treats it as text rather than executable markup.
- HTTP-Only Cookie
- Related: SameSite Cookie, Cross-Site Scripting (XSS)
A cookie flag that hides the value from JavaScript's document.cookie, preventing script-based theft of session identifiers even when cross-site scripting is present elsewhere on the domain.
- Taint Analysis
- Related: Source and Sink, Static Application Security Testing (SAST), Control Flow Graph
A static technique that marks untrusted inputs as sources, tracks how values propagate through assignments and calls, and reports when they reach sensitive operations called sinks without sanitization.
- Source and Sink
- Related: Taint Analysis, Static Application Security Testing (SAST), Semantic Grep
In taint analysis, a source is where untrusted data enters, such as a request parameter, and a sink is a dangerous operation such as a SQL query or command execution. A finding requires an unbroken path between them.
- Control Flow Graph
- Related: Taint Analysis, Abstract Syntax Tree, Call Graph
A directed graph whose nodes are basic blocks and whose edges are possible jumps between them. Analyses use it to reason about reachability and to determine whether a sink is actually reachable from a source.
- Abstract Syntax Tree
- Related: Control Flow Graph, Semantic Grep, Taint Analysis
A tree representation of source code structure, omitting formatting details. Rules and linters match patterns on this tree so they can detect constructs that text search would miss or misreport.
- Call Graph
- Related: Control Flow Graph, Taint Analysis, Static Application Security Testing (SAST)
A graph linking each function to the functions it may invoke. Security reviews use it to follow data across function and file boundaries and to spot entry points that reach dangerous helpers.
- Static Application Security Testing (SAST)
- Related: Taint Analysis, Semantic Grep, Software Composition Analysis (SCA)
Automated review of source, bytecode, or binaries without executing the program. It finds injection patterns and dangerous API use early but produces false positives that require human triage.
- Semantic Grep
- Related: Abstract Syntax Tree, Static Application Security Testing (SAST), Source and Sink
Pattern search that understands code structure, such as matching a function call with specific arguments rather than raw text. It reduces noise when hunting for dangerous API usage across a large repository.
- Software Composition Analysis (SCA)
- Related: Static Application Security Testing (SAST), Software Bill of Materials (SBOM), Dependency Confusion
Identifying third-party libraries and their versions in a build and mapping them to known vulnerabilities and license obligations. It complements code scanning because most shipped code is dependency code.
- Software Bill of Materials (SBOM)
- Related: Software Composition Analysis (SCA), Dependency Confusion, CI/CD Pipeline Security
A machine-readable inventory of components and their versions in an artifact. It enables rapid impact checks when a new dependency vulnerability is published and supports supply-chain due diligence.
- Dependency Confusion
- Related: Software Composition Analysis (SCA), Software Bill of Materials (SBOM), CI/CD Pipeline Security
Publishing a malicious package under the same name as an internal library on a public registry, hoping build tooling resolves the public copy first. Pinning versions and scoping internal names mitigates it.
- Deserialization Vulnerability
- Related: Remote Code Execution, Path Traversal, Memory Safety
Accepting attacker-controlled serialized data that the runtime reconstructs into objects, potentially triggering gadget chains that execute code or alter state during reconstruction, before any business logic runs.
- Memory Safety
- Related: Deserialization Vulnerability, Remote Code Execution, Fuzzing
The property that code cannot read or write outside a buffer's bounds or use freed memory. Languages without it rely on careful review and mitigations such as bounds checks and sanitizers.
- Fuzzing
- Related: Memory Safety, Remote Code Execution, Static Application Security Testing (SAST)
Feeding generated or mutated inputs to a program to trigger crashes and unexpected behavior. Coverage-guided fuzzers are effective at finding parsing bugs and memory errors in native code.
- Remote Code Execution (RCE)
- Related: Deserialization Vulnerability, Path Traversal, Memory Safety
The most severe impact class, where an attacker causes the target to run commands or code of their choosing. It typically arises from injection flaws, unsafe deserialization, or vulnerable dependencies.
- Instance Metadata Service (IMDS)
- Related: Server-Side Request Forgery (SSRF), Over-Permissive IAM Role, CloudTrail
A link-local endpoint on cloud instances that returns configuration and temporary credentials. Version two requires a session token, which blocks simple request forgery that only issues GET requests.
- Over-Permissive IAM Role
- Related: Least Privilege, Privilege Escalation Path, Instance Metadata Service (IMDS)
A cloud identity policy granting broader actions or resources than the workload needs, such as wildcard actions. Compromise of that workload then yields far more access than intended.
- Least Privilege
- Related: Over-Permissive IAM Role, Privilege Escalation Path, CloudTrail
Granting only the permissions required for a task, scoped to specific resources and conditions, and reviewing them regularly. It limits blast radius when credentials or workloads are compromised.
- Privilege Escalation Path
- Related: Over-Permissive IAM Role, Least Privilege, CloudTrail
A chain of allowed actions, such as creating a role, attaching a policy, and passing it to a compute service, that lets a principal obtain permissions it was never directly granted.
- CloudTrail
- Related: Least Privilege, Instance Metadata Service (IMDS), Privilege Escalation Path
A cloud audit log service recording API activity with identity, source address, and time. Investigators use it to reconstruct attacker actions and to detect unusual role assumptions or disabled logging.
- Public Storage Bucket
- Related: Least Privilege, CloudTrail
An object store configured to allow anonymous read or list access. It commonly leaks backups, logs, and credentials, and is found through naming guesses and search engines rather than exploitation.
- CI/CD Pipeline Security
- Related: Software Bill of Materials (SBOM), Dependency Confusion, Secrets Management
Protecting the build and deploy chain: restricting who can change pipeline definitions, isolating secrets from untrusted pull requests, and signing artifacts so tampering is detectable.
- Secrets Management
- Related: CI/CD Pipeline Security, Least Privilege, CloudTrail
Storing and distributing credentials through a dedicated vault or managed secret store with rotation, access logging, and short lifetimes, instead of hardcoding them in repositories, images, or environment files.
- Cobalt Strike Beacon
- Related: Command and Control (C2), Living Off the Land, Kerberoasting
A commercial adversary-simulation payload that provides command-and-control, lateral movement, and post-exploitation features. Defenders detect it through network signatures, named pipes, and process behavior.
- Command and Control (C2)
- Related: Cobalt Strike Beacon, Living Off the Land, Purple Teaming
The channel an operator uses to task compromised hosts and receive results. Profiles mimic legitimate traffic, and detection focuses on beacon timing, uncommon destinations, and protocol anomalies.
- Living Off the Land
- Related: Command and Control (C2), Kerberoasting, Purple Teaming
Using signed, preinstalled tools such as PowerShell, certutil, or wmic to perform actions, so activity blends with administration and evades detection that only watches for dropped binaries.
- Kerberoasting
- Related: Living Off the Land, Cobalt Strike Beacon, Purple Teaming
Requesting service tickets for accounts with service principal names, then cracking the encrypted portion offline to recover the service account password. Strong, long passwords and managed accounts reduce exposure.
- Purple Teaming
- Related: Command and Control (C2), Living Off the Land, Prompt Injection
A collaborative exercise where offensive actions are shared with defenders in real time so detection rules can be tuned and validated, converting red team findings into measurable defensive improvements.
- Prompt Injection
- Related: Indirect Prompt Injection, Tool-Using Agent, Model Inversion
Embedding instructions in content that a language model processes, causing it to ignore its intended task or leak data. Untrusted retrieved text and tool outputs are common delivery routes.
- Indirect Prompt Injection
- Related: Prompt Injection, Tool-Using Agent, Model Inversion
Placing adversarial instructions in data the model later retrieves, such as a web page or document, so the payload executes when the user asks an unrelated question and the model reads that content.
- Tool-Using Agent
- Related: Prompt Injection, Indirect Prompt Injection, Model Inversion
A model-driven system that can call functions, browse, or run code. Its risk grows with tool permissions, so designs should require confirmation for sensitive actions and validate tool arguments.
- Model Inversion
- Related: Prompt Injection, Tool-Using Agent, Data Poisoning
Reconstructing training data or sensitive attributes by repeatedly querying a model and analyzing outputs. Overfitting and overly detailed confidence scores make such inference easier for an attacker.
- Data Poisoning
- Related: Model Inversion, Prompt Injection, Tool-Using Agent
Corrupting training or fine-tuning data so a model learns biased behavior, backdoor triggers, or wrong associations. Provenance checks and evaluation on held-out data help detect it.