HTB CWPE key terms
HTB CWPE · Get comfortable with the vocabulary.
- Virtual host enumeration
- Related: Content discovery, Subdomain takeover
Discovering site names served by one IP by sending requests with different Host headers or reading certificate SANs, then comparing response size, status, and body to spot hidden applications.
- Content discovery
- Related: Virtual host enumeration, Forced browsing
Brute-forcing or wordlist-matching paths, files, and parameters to find endpoints not linked in the visible application, such as backups, admin panels, and API routes.
- Forced browsing
- Related: Content discovery, IDOR
Requesting resources that exist but are unlinked, relying on missing authorization rather than hidden names; differs from guessing because the path is known from leaks, robots.txt, or JavaScript bundles.
- Technology fingerprinting
- Related: Source map exposure, Default credentials
Identifying frameworks, servers, and libraries from headers, cookies, error pages, and static asset hashes so you can select matching exploits and default credentials.
- Source map exposure
- Related: Technology fingerprinting, Client-side validation bypass
A deployed .map file or unminified bundle that reveals original JavaScript source, including hidden API endpoints, feature flags, and client-side validation logic.
- Subdomain takeover
- Related: Virtual host enumeration, CORS misconfiguration
Claiming a cloud or SaaS resource referenced by a dangling DNS record, letting you serve content under the victim's domain name.
- Credential stuffing
- Related: Password spraying, Account enumeration
Replaying username and password pairs leaked elsewhere against a login form, betting that users reused them; detected by high failure ratios from many source addresses.
- Password spraying
- Related: Credential stuffing, Account enumeration
Trying one or a few common passwords across many accounts to stay under lockout thresholds, exploiting weak policy rather than leaked credentials.
- Account enumeration
- Related: Password spraying, Timing attack
Distinguishing valid from invalid usernames through differing error text, response time, status codes, or registration and password-reset behavior.
- Session fixation
- Related: JWT alg confusion, Session token entropy
Forcing a victim to authenticate with a session identifier you already know, so the server keeps that identifier after login and you inherit the authenticated session.
- JWT alg confusion
- Related: JWT claim tampering, Session fixation
Abusing weak JWT verification by switching the header algorithm, for example to none or from RS256 to HS256 so the public key is used as an HMAC secret.
- JWT claim tampering
- Related: JWT alg confusion, IDOR
Editing payload claims such as role, sub, or tenant after signature verification is bypassed or the key is recovered, granting another user's privileges.
- Session token entropy
- Related: Session fixation, Timing attack
The unpredictability of a session identifier; low-entropy or sequential tokens can be guessed or brute-forced to hijack other users' sessions.
- Union-based SQL injection
- Related: Blind SQL injection, Second-order SQL injection
Appending a UNION SELECT to the original query so attacker-chosen columns appear in the result set, useful only when column count and types match.
- Blind SQL injection
- Related: Union-based SQL injection, Out-of-band exfiltration
Inferring query results from boolean differences, timing delays, or out-of-band callbacks when error messages and data are not returned directly.
- Second-order SQL injection
- Related: Union-based SQL injection, Stored XSS
Payload stored safely by one request but concatenated unsafely into a query later, such as in an admin report or profile update.
- NoSQL operator injection
- Related: JSON parameter pollution, Blind SQL injection
Supplying query operators such as $ne or $regex in place of a scalar value so the database matches unintended documents, often bypassing login checks.
- OS command injection
- Related: Server-side template injection, Blind command injection
Breaking out of a shell string built from user input using metacharacters like semicolons, pipes, or backticks, then executing arbitrary commands on the server.
- Blind command injection
- Related: OS command injection, Out-of-band exfiltration
Confirming command execution without seeing output, using time delays, DNS or HTTP callbacks, or file writes that are later retrieved.
- Server-side template injection
- Related: SSTI sandbox escape, Expression language injection
Injecting template syntax into input that the engine evaluates, such as {{7*7}} returning 49, which can escalate from data disclosure to remote code execution.
- SSTI sandbox escape
- Related: Server-side template injection, Insecure deserialization
Reaching dangerous objects or methods from inside a template context, for example via Python class hierarchies or Java class loaders, to run operating system commands.
- Expression language injection
- Related: Server-side template injection, Insecure deserialization
Injecting into EL or SpEL expressions evaluated by frameworks, letting attackers call methods and instantiate classes when the expression is evaluated server-side.
- Insecure deserialization
- Related: Gadget chain, Magic method abuse
Passing attacker-controlled serialized data to a language's deserializer, which can construct object graphs that trigger code execution or file writes during reconstruction.
- Gadget chain
- Related: Insecure deserialization, Magic method abuse
A sequence of existing classes whose methods fire in order during deserialization, together producing a useful effect such as command execution without injecting new code.
- Magic method abuse
- Related: Gadget chain, Insecure deserialization
Triggering implicit lifecycle hooks in PHP or Python objects, such as __wakeup, __destruct, or reduce, so behavior runs when an object is created or destroyed.
- Stored XSS
- Related: DOM-based XSS, Content Security Policy bypass, Second-order SQL injection
Persisting script in server data that later renders unescaped for other users, letting an attacker act with their session, including administrative sessions.
- DOM-based XSS
- Related: Stored XSS, Content Security Policy bypass
Client-side script sinks such as innerHTML or eval consuming attacker-controlled sources like location.hash, executing without the payload ever reaching the server.
- Content Security Policy bypass
- Related: Stored XSS, DOM-based XSS
Defeating CSP through overly permissive sources, JSONP endpoints, open redirects, or script gadgets so injected script still executes despite the policy.
- CSRF token bypass
- Related: SameSite cookie bypass, CORS misconfiguration
Circumventing anti-CSRF defenses by removing the token, reusing a valid one, switching methods, or exploiting endpoints that never validate it.
- SameSite cookie bypass
- Related: CSRF token bypass, CORS misconfiguration
Getting a cross-site request to carry cookies despite SameSite=Lax or Strict, using top-level GET navigations, client-side redirects, or sibling subdomains.
- CORS misconfiguration
- Related: SameSite cookie bypass, Subdomain takeover
Reflecting arbitrary Origin values or trusting null with credentials enabled, letting any site read authenticated responses from the victim application.
- SSRF
- Related: SSRF filter bypass, Cloud metadata access
Making the server issue requests to attacker-chosen destinations, reaching internal services, cloud metadata endpoints, or localhost-only admin interfaces.
- SSRF filter bypass
- Related: SSRF, Cloud metadata access
Evading blocklists using alternate IP encodings, DNS rebinding, redirects, or URL parser quirks so a blocked internal address is still reached.
- Cloud metadata access
- Related: SSRF, SSRF filter bypass
Using SSRF to query the instance metadata service for temporary credentials, user data, and role tokens that allow lateral movement into cloud accounts.
- Local file inclusion
- Related: Path traversal, PHP wrapper abuse
Manipulating a file path parameter to read server files, often chained with log poisoning or uploaded content to convert file read into code execution.
- Path traversal
- Related: Local file inclusion, PHP wrapper abuse
Using ../ sequences or encoded variants to escape a base directory and access files outside the intended location.
- PHP wrapper abuse
- Related: Local file inclusion, Path traversal
Using stream wrappers like php://filter, php://input, or data:// to read source, bypass filters, or supply executable content to an include.
- IDOR
- Related: Mass assignment, JWT claim tampering
Accessing another user's object by changing an identifier because the server checks authentication but not ownership of that specific record.
- Mass assignment
- Related: IDOR, Business logic flaw
Sending extra object properties the API binds automatically, such as role or isAdmin, so the server updates fields the client was never meant to control.
- Business logic flaw
- Related: Mass assignment, Race condition
Abusing legitimate workflow steps out of order or in unusual combinations, like negative quantities or skipped payment, to gain value the design did not intend.
- Race condition
- Related: Business logic flaw, IDOR
Sending concurrent requests so a check and its update interleave, letting a coupon or balance be redeemed more times than allowed.
- GraphQL introspection
- Related: API versioning bypass, Excessive data exposure
Querying the schema for types, fields, and mutations, revealing hidden operations and arguments that are not exposed through the normal UI.
- API versioning bypass
- Related: GraphQL introspection, IDOR
Reaching older or internal API versions such as /v1 or /internal that lack the authorization and validation added to the current version.
- Excessive data exposure
- Related: GraphQL introspection, Mass assignment
APIs returning full objects and relying on the client to hide fields, leaking password hashes, tokens, or other users' details in responses.
- JSON parameter pollution
- Related: NoSQL operator injection, Mass assignment
Supplying duplicate or nested keys, or mixing JSON with form encoding, so different parsers pick different values and validation diverges from use.
- Out-of-band exfiltration
- Related: Blind SQL injection, Blind command injection
Sending stolen data through DNS or HTTP requests to a server you control, used when blind injection returns no visible output.
- Attack chain
- Related: Cloud metadata access, Privilege escalation
Linking low-impact findings, such as SSRF plus metadata credentials plus an internal admin panel, into a path that reaches a high-impact objective.
- Privilege escalation
- Related: Attack chain, Mass assignment
Moving from a low-privileged account or shell to administrative access by abusing roles, tokens, misconfigured services, or local system weaknesses.
- Lateral movement
- Related: Attack chain, Cloud metadata access
Using credentials, tokens, or trust relationships obtained from one compromised component to reach other hosts or services inside the environment.
- Timing attack
- Related: Account enumeration, Session token entropy
Measuring small response-time differences to infer hidden values, such as valid usernames or byte-by-byte secret comparisons.
- Default credentials
- Related: Technology fingerprinting, Privilege escalation
Vendor-supplied usernames and passwords left unchanged on admin panels, databases, or middleware, giving immediate authenticated access.
- Client-side validation bypass
- Related: Source map exposure, Mass assignment
Intercepting and modifying requests so checks performed only in the browser, such as price, role, or file type, never apply on the server.