CAP-PC ENS study materials
CAP-PC ENS study resources

CAP-PC ENS key terms

CAP-PC ENS · Get comfortable with the vocabulary.

Insecure Direct Object Reference (IDOR)

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.

Related: Broken Access Control, Mass Assignment, Server-Side Request Forgery
Broken Access Control

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.

Related: Insecure Direct Object Reference (IDOR), Mass Assignment, Horizontal Privilege Escalation
Horizontal Privilege Escalation

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.

Related: Broken Access Control, Vertical Privilege Escalation, Insecure Direct Object Reference (IDOR)
Vertical Privilege Escalation

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.

Related: Horizontal Privilege Escalation, Mass Assignment, Session Fixation
Server-Side Request Forgery (SSRF)

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.

Related: Instance Metadata Service (IMDS), Allowlist Validation, Insecure Direct Object Reference (IDOR)
Cross-Site Scripting (XSS)

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.

Related: Content Security Policy (CSP), Output Encoding, Cross-Site Request Forgery (CSRF)
Content Security Policy (CSP)

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.

Related: Cross-Site Scripting (XSS), Output Encoding, Trusted Types
Trusted Types

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.

Related: Content Security Policy (CSP), Cross-Site Scripting (XSS), Output Encoding
Cross-Site Request Forgery (CSRF)

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.

Related: SameSite Cookie, Cross-Site Scripting (XSS), Session Fixation
SameSite 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.

Related: Cross-Site Request Forgery (CSRF), Session Fixation, HTTP-Only Cookie
Session Fixation

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.

Related: Cross-Site Request Forgery (CSRF), Vertical Privilege Escalation, JSON Web Token (JWT)
JSON Web Token (JWT)

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.

Related: Algorithm Confusion Attack, Session Fixation, OAuth 2.0 Authorization Code Flow
Algorithm Confusion Attack

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.

Related: JSON Web Token (JWT), OAuth 2.0 Authorization Code Flow
OAuth 2.0 Authorization Code Flow

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.

Related: JSON Web Token (JWT), Open Redirect, Algorithm Confusion Attack
Open Redirect

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.

Related: OAuth 2.0 Authorization Code Flow, Allowlist Validation, Server-Side Request Forgery (SSRF)
Allowlist Validation

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.

Related: Server-Side Request Forgery (SSRF), Open Redirect, Path Traversal
Mass Assignment

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.

Related: Broken Access Control, Vertical Privilege Escalation, Insecure Direct Object Reference (IDOR)
Path Traversal

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.

Related: Allowlist Validation, Remote Code Execution, Deserialization Vulnerability
Output Encoding

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.

Related: Cross-Site Scripting (XSS), Content Security Policy (CSP), Trusted Types
HTTP-Only Cookie

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.

Related: SameSite Cookie, Cross-Site Scripting (XSS)
Taint Analysis

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.

Related: Source and Sink, Static Application Security Testing (SAST), Control Flow Graph
Source and Sink

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.

Related: Taint Analysis, Static Application Security Testing (SAST), Semantic Grep
Control Flow 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.

Related: Taint Analysis, Abstract Syntax Tree, Call Graph
Abstract Syntax Tree

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.

Related: Control Flow Graph, Semantic Grep, Taint Analysis
Call Graph

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.

Related: Control Flow Graph, Taint Analysis, Static Application Security Testing (SAST)
Static Application Security Testing (SAST)

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.

Related: Taint Analysis, Semantic Grep, Software Composition Analysis (SCA)
Semantic Grep

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.

Related: Abstract Syntax Tree, Static Application Security Testing (SAST), Source and Sink
Software Composition Analysis (SCA)

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.

Related: Static Application Security Testing (SAST), Software Bill of Materials (SBOM), Dependency Confusion
Software Bill of Materials (SBOM)

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.

Related: Software Composition Analysis (SCA), Dependency Confusion, CI/CD Pipeline Security
Dependency Confusion

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.

Related: Software Composition Analysis (SCA), Software Bill of Materials (SBOM), CI/CD Pipeline Security
Deserialization Vulnerability

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.

Related: Remote Code Execution, Path Traversal, Memory Safety
Memory Safety

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.

Related: Deserialization Vulnerability, Remote Code Execution, Fuzzing
Fuzzing

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.

Related: Memory Safety, Remote Code Execution, Static Application Security Testing (SAST)
Remote Code Execution (RCE)

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.

Related: Deserialization Vulnerability, Path Traversal, Memory Safety
Instance Metadata Service (IMDS)

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.

Related: Server-Side Request Forgery (SSRF), Over-Permissive IAM Role, CloudTrail
Over-Permissive IAM Role

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.

Related: Least Privilege, Privilege Escalation Path, Instance Metadata Service (IMDS)
Least Privilege

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.

Related: Over-Permissive IAM Role, Privilege Escalation Path, CloudTrail
Privilege Escalation Path

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.

Related: Over-Permissive IAM Role, Least Privilege, CloudTrail
CloudTrail

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.

Related: Least Privilege, Instance Metadata Service (IMDS), Privilege Escalation Path
Public Storage Bucket

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.

Related: Least Privilege, CloudTrail
CI/CD Pipeline Security

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.

Related: Software Bill of Materials (SBOM), Dependency Confusion, Secrets Management
Secrets Management

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.

Related: CI/CD Pipeline Security, Least Privilege, CloudTrail
Cobalt Strike Beacon

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.

Related: Command and Control (C2), Living Off the Land, Kerberoasting
Command and Control (C2)

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.

Related: Cobalt Strike Beacon, Living Off the Land, Purple Teaming
Living Off the Land

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.

Related: Command and Control (C2), Kerberoasting, Purple Teaming
Kerberoasting

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.

Related: Living Off the Land, Cobalt Strike Beacon, Purple Teaming
Purple Teaming

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.

Related: Command and Control (C2), Living Off the Land, Prompt Injection
Prompt Injection

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.

Related: Indirect Prompt Injection, Tool-Using Agent, Model Inversion
Indirect Prompt Injection

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.

Related: Prompt Injection, Tool-Using Agent, Model Inversion
Tool-Using Agent

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.

Related: Prompt Injection, Indirect Prompt Injection, Model Inversion
Model Inversion

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.

Related: Prompt Injection, Tool-Using Agent, Data Poisoning
Data Poisoning

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.

Related: Model Inversion, Prompt Injection, Tool-Using Agent