OSWE key terms
OSWE · Get comfortable with the vocabulary.
- Taint analysis
- Related: Source and sink, Parameter fuzzing
A code review technique that tracks untrusted input from where it enters a program to where it is used, revealing whether validation or sanitization happens before the value reaches a dangerous operation.
- Source and sink
- Related: Taint analysis, Insecure Direct Object Reference
In data-flow analysis, a source is where attacker-controlled data enters, and a sink is a dangerous function that consumes data; a flaw exists when tainted data reaches a sink without adequate sanitization.
- Attack surface mapping
- Related: Content discovery, Parameter fuzzing
Enumerating every endpoint, parameter, header, cookie, and feature an application exposes so a tester knows where to probe for weaknesses before attempting exploitation.
- Content discovery
- Related: Attack surface mapping, Open redirect
Requesting guessed or wordlist-derived paths and filenames that are not linked in the interface, to find backups, admin panels, debug pages, or forgotten endpoints left accessible.
- Parameter fuzzing
- Related: Taint analysis, Blind SQL injection
Automated submission of malformed, boundary, and special-character payloads to inputs while monitoring responses, status codes, and timing to identify parsing errors or injection points.
- Insecure Direct Object Reference
- Related: Mass assignment, Privilege escalation
An access control weakness where an application uses a user-supplied identifier to fetch a record without verifying that the requester owns or may view that record.
- Privilege escalation
- Related: Insecure Direct Object Reference, Mass assignment
Horizontal escalation lets one user act as a peer with equal rights; vertical escalation lets a lower-privileged user obtain administrative capabilities, often by manipulating roles, cookies, or hidden endpoints.
- Session fixation
- Related: JWT algorithm confusion, CSRF token bypass
An attack where the tester forces a victim to use a session identifier known to the attacker; if the application does not issue a new identifier at login, the attacker reuses it to hijack the authenticated session.
- JWT algorithm confusion
- Related: Session fixation, Privilege escalation
Manipulating a JSON Web Token's header or key handling so the server verifies a signature with an unintended algorithm, such as accepting a token signed using the public key as an HMAC secret.
- CSRF token bypass
- Related: XSS-to-CSRF chaining, Session fixation
Defeating cross-site request forgery defenses by removing, duplicating, or predicting the token, or by exploiting endpoints that accept state-changing requests without validating it.
- Password reset poisoning
- Related: Open redirect, SSRF
Supplying a forged Host header or similar value in a reset request so the generated recovery link points to an attacker-controlled domain, allowing theft of the reset token.
- UNION-based SQL injection
- Related: Blind SQL injection, Source and sink
Appending a crafted UNION SELECT statement to an injectable query so the database returns extra rows, letting the attacker extract data from other tables through the application's normal output.
- Blind SQL injection
- Related: UNION-based SQL injection, Parameter fuzzing
Extracting information from an injection point when query results are not displayed, by asking true or false questions and observing boolean response differences or time delays.
- NoSQL operator injection
- Related: LDAP injection, Mass assignment
Inserting query operators such as $ne or $gt into JSON or parameter values so a NoSQL database evaluates attacker-chosen logic, commonly bypassing login checks.
- LDAP injection
- Related: NoSQL operator injection, Parameter fuzzing
Injecting filter metacharacters into directory queries to alter the search logic, potentially authenticating without valid credentials or enumerating directory entries.
- OS command injection
- Related: Web shell, Server-Side Template Injection
Passing shell metacharacters into an application that builds an operating-system command from user input, causing additional attacker-supplied commands to execute on the server.
- Stored XSS
- Related: DOM-based XSS, XSS-to-CSRF chaining
Persisting malicious script in server-side storage so it executes in the browsers of other users who later view the affected page, requiring no crafted link to be sent.
- DOM-based XSS
- Related: Stored XSS, CSP bypass
Script execution caused by client-side JavaScript reading attacker-controlled data from the URL or another browser source and writing it into a dangerous DOM sink.
- CSP bypass
- Related: DOM-based XSS, XSS-to-CSRF chaining
Circumventing Content Security Policy restrictions by abusing allowed hosts, JSONP endpoints, script gadgets, or missing directives so injected JavaScript can execute.
- XSS-to-CSRF chaining
- Related: Stored XSS, CSRF token bypass
Using injected JavaScript to read a page's anti-CSRF token and submit privileged requests as the victim, turning a script injection into unauthorized state-changing actions.
- Path traversal
- Related: Local File Inclusion, Unrestricted file upload
Supplying sequences such as ../ in a filename parameter so the resolved path escapes the intended directory, allowing reading or writing files elsewhere on the server.
- Local File Inclusion
- Related: Path traversal, PHP stream wrappers
An include or file-read parameter that accepts user input, letting an attacker load arbitrary local files such as configuration or credential files, and sometimes execute code through log poisoning.
- Remote File Inclusion
- Related: Local File Inclusion, Web shell
A file inclusion vulnerability where the application fetches a remote URL supplied by the attacker, executing attacker-hosted code if remote includes are enabled.
- Unrestricted file upload
- Related: Web shell, Path traversal
Allowing users to upload files without adequate validation of type, content, or destination, enabling web shell placement or stored script execution.
- PHP stream wrappers
- Related: Local File Inclusion, Unrestricted file upload
Stream wrappers such as php://filter and data:// that can be used through file inclusion or file functions to read source code or supply payloads without writing a file.
- Insecure deserialization
- Related: Gadget chain, Server-Side Template Injection
Reconstructing objects from attacker-controlled serialized data, which can trigger dangerous methods or property manipulation during object creation and cleanup.
- Gadget chain
- Related: Insecure deserialization, Vulnerability chaining
A sequence of existing classes with magic methods that, when triggered during deserialization, calls one another to reach a sensitive function such as command execution.
- Server-Side Template Injection
- Related: OS command injection, Insecure deserialization
Injecting template syntax into user-controlled content that the server evaluates, allowing attackers to read variables, access internals, and often execute commands.
- SSRF
- Related: XXE, Open redirect
Making the server issue HTTP or other requests to a destination chosen by the attacker, reaching internal services, cloud metadata endpoints, or localhost-only interfaces.
- XXE
- Related: SSRF, Blind XXE
Exploiting an XML parser that resolves external entities, causing it to read local files, perform network requests, or expand entities in denial-of-service attacks.
- Blind XXE
- Related: XXE, Out-of-band callback listener
An XXE variant where extracted data is not returned in the response, so the attacker exfiltrates it through out-of-band DNS or HTTP requests to a controlled server.
- Business logic flaw
- Related: Race condition, Mass assignment
A weakness in intended workflow rules rather than code syntax, such as skipping payment steps, reusing coupons, or manipulating quantities to gain unintended value.
- Mass assignment
- Related: Insecure Direct Object Reference, Privilege escalation
Binding request parameters directly to object properties so an attacker can set fields the developer never intended to expose, such as role or account balance.
- Race condition
- Related: Business logic flaw, Vulnerability chaining
Exploiting the timing gap between a check and the action it protects, sending concurrent requests so a limit or balance is validated before being modified.
- Exploit script
- Related: Vulnerability chaining, Out-of-band callback listener
A custom program that automates request construction, payload delivery, and response parsing to reliably demonstrate or weaponize a discovered vulnerability.
- Vulnerability chaining
- Related: Exploit script, Gadget chain
Combining multiple lower-severity flaws, such as information disclosure plus injection plus file write, so their combined effect achieves a higher-impact objective.
- Out-of-band callback listener
- Related: Blind XXE, Exploit script
A controlled server or DNS service that records interactions from the target, used to confirm blind vulnerabilities and exfiltrate data when responses are not visible.
- Web shell
- Related: Unrestricted file upload, OS command injection
A small script uploaded to a server that accepts commands through HTTP parameters, giving the attacker persistent remote command execution through the web server.
- Open redirect
- Related: Password reset poisoning, SSRF
A parameter that sends users to an arbitrary external URL, abused for phishing or chained with authentication flows to leak tokens.