CWICP study materials
CWICP study resources

CWICP key terms

CWICP · Get comfortable with the vocabulary.

HTTP request smuggling

A desynchronization attack where mismatched Content-Length and Transfer-Encoding headers cause a front-end proxy and back-end server to disagree on request boundaries, letting an attacker prepend hidden requests to another user's traffic.

Related: Transfer-Encoding header, Web cache poisoning
Transfer-Encoding header

An HTTP header declaring how the message body is chunked for transport. Ambiguous or duplicated values, or mixing it with Content-Length, enable request smuggling and response splitting between intermediaries.

Related: HTTP request smuggling
Same-origin policy

The browser rule that scripts from one origin cannot read responses or access DOM data belonging to a different scheme, host, or port. It is the foundation of client-side isolation, not an access control mechanism for servers.

Related: CORS misconfiguration, Cross-site scripting
CORS misconfiguration

Weak Cross-Origin Resource Sharing settings, such as reflecting arbitrary Origin values or allowing credentials with wildcard origins, that let hostile sites read authenticated responses the same-origin policy should have blocked.

Related: Same-origin policy
Web cache poisoning

Injecting crafted input so a shared cache stores a malicious response and serves it to other users. Often chained with header confusion or unkeyed inputs the cache ignores when building its cache key.

Related: HTTP request smuggling, Cache deception
Passive reconnaissance

Gathering information about a target without directly touching its systems, using public sources such as certificate transparency logs, DNS records, search engines, and code repositories. It reduces detection risk.

Related: Subdomain enumeration, OSINT footprinting
Subdomain enumeration

Discovering hostnames belonging to a target through certificate transparency logs, DNS brute forcing, zone transfer attempts, and search engine results, expanding the attack surface beyond the primary application.

Related: Passive reconnaissance, DNS zone transfer
DNS zone transfer

A replication mechanism where a primary DNS server sends its full record set to a secondary. If misconfigured to allow arbitrary clients, it discloses every hostname and internal address in the zone.

Related: Subdomain enumeration
OSINT footprinting

Building a profile of an organization from openly available data: employee names, technology stacks, email formats, leaked credentials, and infrastructure ranges. Feeds phishing, password spraying, and targeting decisions.

Related: Passive reconnaissance, Password spraying
Session fixation

An attack where the tester forces a victim to use a session identifier known to the attacker, then hijacks the authenticated session. Prevented by issuing a fresh identifier at login and rejecting client-supplied ones.

Related: Session token entropy, Cookie attributes
Session token entropy

The unpredictability of a session identifier, measured in bits. Tokens generated from weak PRNGs, timestamps, or sequential counters can be guessed or brute forced, enabling account takeover.

Related: Session fixation
Cookie attributes

Flags controlling cookie behavior: Secure limits transmission to HTTPS, HttpOnly blocks script access, SameSite restricts cross-site sending, and Domain and Path scope where the cookie applies.

Related: Cross-site request forgery, Session fixation
Password spraying

Trying a small set of common passwords against many accounts to avoid lockout thresholds. Effective because it stays under per-account failure limits while exploiting weak, reused credentials.

Related: Credential stuffing, OSINT footprinting
Credential stuffing

Replaying username and password pairs leaked from other breaches against a target, betting on password reuse. Differs from brute force because no guessing occurs; defenses include breached-password checks and MFA.

Related: Password spraying
Multi-factor authentication bypass

Weaknesses that defeat a second factor: response manipulation, missing verification on alternate endpoints, OTP brute force without rate limits, or backup code reuse. Testers check every authentication path, not just the primary one.

Related: Credential stuffing
IDOR (insecure direct object reference)

Accessing another user's records by changing an identifier in a request because the server checks authentication but not ownership. A form of broken object-level authorization common in APIs.

Related: Horizontal privilege escalation, BOLA
BOLA (broken object level authorization)

The API-centric name for failing to verify that the authenticated caller owns or may access the specific object referenced. Ranked among the most critical API risks because it bypasses otherwise sound authentication.

Related: IDOR (insecure direct object reference)
Horizontal privilege escalation

Gaining access to resources belonging to a peer with the same role, typically by manipulating identifiers. Contrasts with vertical escalation, which moves to a higher-privileged role.

Related: IDOR (insecure direct object reference), Vertical privilege escalation
Vertical privilege escalation

Elevating from a lower-privileged role to an administrative one, often through forced browsing to admin endpoints, mass assignment of role fields, or missing server-side role checks.

Related: Mass assignment, Horizontal privilege escalation
Mass assignment

Binding user-supplied request fields directly onto internal objects, letting an attacker set properties like isAdmin or accountBalance that the developer never intended to expose.

Related: Vertical privilege escalation
SQL injection

Inserting SQL syntax through user input so it alters a query's logic, enabling data theft, authentication bypass, or command execution. Prevented with parameterized queries, not input filtering alone.

Related: Blind SQL injection, Second-order injection
Blind SQL injection

Injection where results are not returned directly, so the tester infers data through boolean true/false responses or deliberate time delays. Slower but equally damaging.

Related: SQL injection
Second-order injection

Payloads stored safely at input time but executed later when the stored value is reused in a dangerous context, such as a query, log parser, or admin dashboard.

Related: SQL injection, Stored cross-site scripting
Server-side template injection

Injecting template syntax into user input that the server later evaluates, potentially reaching the underlying language runtime and achieving remote code execution. Detected with arithmetic probes like {{7*7}}.

Related: Command injection
Command injection

Passing shell metacharacters through input into an operating system command, letting an attacker run arbitrary programs on the host. Mitigated by avoiding shells and using argument-array APIs.

Related: Server-side template injection
Stored cross-site scripting

Persistent script injection saved server-side and executed in other users' browsers when they view the affected page, enabling session theft and actions performed as the victim.

Related: DOM-based cross-site scripting, Content Security Policy
DOM-based cross-site scripting

Client-side script injection where tainted data from sources such as location.hash flows into dangerous sinks like innerHTML without server involvement, so server-side filters never see the payload.

Related: Stored cross-site scripting
Content Security Policy

A response header restricting which script, style, and frame sources a page may load. A strong policy with nonces mitigates XSS; weak policies with unsafe-inline or wildcards provide little protection.

Related: Stored cross-site scripting
Cross-site request forgery

Forcing a logged-in victim's browser to send a state-changing request to another site that relies on ambient cookies. Defenses include SameSite cookies, anti-CSRF tokens, and origin verification.

Related: Cookie attributes
Clickjacking

Overlaying or framing a target site invisibly so the victim's clicks trigger unintended actions. Countered with X-Frame-Options or a frame-ancestors Content Security Policy directive.

Related: Content Security Policy
Cache deception

Tricking a cache into storing a personalized, authenticated page under a public URL by appending static-looking extensions, letting attackers retrieve other users' sensitive data from the cache.

Related: Web cache poisoning
TLS configuration review

Assessing protocol versions, cipher suites, certificate validity, and key exchange for weaknesses such as SSLv3, RC4, or missing forward secrecy. Tools like testssl.sh automate the checks.

Related: HSTS (HTTP Strict Transport Security)
HSTS (HTTP Strict Transport Security)

A header instructing browsers to use HTTPS only for a domain for a set period, blocking downgrade and SSL-stripping attacks. Preloading extends protection to the first visit.

Related: TLS configuration review
Padding oracle

A flaw where distinct error responses to malformed ciphertext reveal decryption details, allowing byte-by-byte plaintext recovery. Historically devastating against CBC-mode encryption in cookies and tokens.

Related: TLS configuration review
Security headers

Response headers such as Content-Security-Policy, X-Content-Type-Options, and Referrer-Policy that harden browser behavior. Their absence is a finding, but presence alone does not prove exploitability.

Related: Content Security Policy
Directory traversal

Using sequences like ../ to escape a web root and read or write files outside it. Exploitable when file paths are built from user input without canonicalization and allowlist checks.

Related: Security misconfiguration
Security misconfiguration

Weak default settings: exposed admin consoles, directory listing, verbose errors, default credentials, or unnecessary services. A broad category covering server, framework, and cloud configuration.

Related: Directory traversal, WAF bypass
WAF bypass

Evading a web application firewall through encoding, case variation, comment insertion, parameter pollution, or payload fragmentation so the filter and the backend parse input differently.

Related: Security misconfiguration
Payload encoding

Representing attack strings in alternate forms such as URL, double-URL, Unicode, or HTML entity encoding so signature-based filters miss them while the target still decodes and executes them.

Related: WAF bypass
False positive vs false negative

A false positive flags benign traffic as malicious, harming usability; a false negative lets an attack through. Tuning a WAF trades one against the other, and testers document both when evaluating coverage.

Related: WAF bypass
Rules of engagement

The signed agreement defining scope, permitted techniques, testing windows, escalation contacts, and data handling before testing begins. Testing outside it is unauthorized access regardless of intent.

Related: Responsible disclosure
Responsible disclosure

Reporting vulnerabilities privately to the vendor with enough detail to reproduce, allowing reasonable remediation time before any public discussion. Coordinated variants align publication dates with the vendor.

Related: Rules of engagement
Risk rating

Prioritizing findings by combining likelihood and impact, often with CVSS plus business context. A high CVSS score on an unreachable internal host may rank below a medium flaw exposing customer data.

Related: Remediation guidance
Remediation guidance

Actionable fixes in a report: the root cause, the specific change required, and verification steps. Concrete advice like parameterized queries outperforms generic instructions to sanitize input.

Related: Risk rating