BSCP key terms
BSCP · Get comfortable with the vocabulary.
- Cross-site scripting (XSS)
- Related: DOM-based XSS, Content Security Policy, HTML entity encoding
A vulnerability where attacker-supplied markup reaches a victim's browser and executes as script in the site's origin. Stored, reflected, and DOM-based variants differ in where the payload is persisted and which code path renders it.
- DOM-based XSS
- Related: Cross-site scripting (XSS), Source and sink
Client-side script reads attacker-controlled data from a source such as location.hash or document.referrer and passes it to a dangerous sink like innerHTML or eval, so the payload never reaches the server.
- Source and sink
- Related: DOM-based XSS, Cross-site scripting (XSS)
In DOM taint analysis, a source is where untrusted data enters client-side code and a sink is a dangerous function or property that interprets it as code or markup. Finding a path between them proves exploitability.
- HTML entity encoding
- Related: Contextual output encoding, Cross-site scripting (XSS)
Converting characters such as <, >, &, and quotes into entity references so browsers render them as text rather than markup. Context matters: it does not protect attributes that already break out of quoting or script blocks.
- Contextual output encoding
- Related: HTML entity encoding, Cross-site scripting (XSS)
Applying the encoding appropriate to where data lands: HTML body, attribute value, JavaScript string, CSS, or URL. A single generic encoder is insufficient because each context has different metacharacters and escaping rules.
- Content Security Policy
- Related: Cross-site scripting (XSS), CSP bypass
An HTTP response header that restricts which script, style, frame, and connection sources the browser will load. A strong policy mitigates XSS impact, but misconfigurations such as unsafe-inline or loose wildcards often leave it bypassable.
- CSP bypass
- Related: Content Security Policy
Techniques that defeat a Content Security Policy, including JSONP endpoints, open redirects on allowlisted hosts, unsafe-inline with base tags, or script gadgets in permitted libraries. Testing whether a policy is actually enforced matters as much as reading it.
- SQL injection
- Related: Blind SQL injection, Parameterized query, Second-order injection
Inserting SQL syntax through user input so the query structure changes. Union-based, error-based, boolean-blind, and time-blind techniques extract data depending on how much output or timing signal the application returns.
- Blind SQL injection
- Related: SQL injection, Out-of-band interaction
Exploitation where query results are not reflected, so the attacker infers data from true/false page differences or response delays. Boolean and time-based variants require careful baseline measurement to avoid false positives.
- Second-order injection
- Related: SQL injection, Stored cross-site scripting
Payload is stored safely at input time but later concatenated into a query or command when read back, so the injection fires in a different code path. Testing must follow data through storage and later reuse.
- Parameterized query
- Related: SQL injection, ORM injection
A prepared statement where SQL structure is fixed and user values are bound as data, preventing them from altering syntax. Effective only when the value is bound rather than concatenated into the statement text.
- Command injection
- Related: Out-of-band interaction, Server-side template injection
Passing untrusted input into a shell so metacharacters like semicolons, pipes, or backticks run additional commands. Blind variants are confirmed with timing delays or out-of-band callbacks.
- Server-side template injection
- Related: Command injection, Sandbox escape
User input is evaluated as template syntax, letting the attacker run expressions in the template engine and often reach the underlying language runtime. Detection uses arithmetic probes such as ${7*7} to distinguish evaluation from plain reflection.
- Sandbox escape
- Related: Server-side template injection, Deserialization
Breaking out of a restricted execution environment, such as a template engine's safe mode or a JavaScript vm context, to reach unrestricted language features. Often the step that turns expression evaluation into remote code execution.
- XML external entity (XXE)
- Related: Server-side request forgery, Deserialization
An XML parser resolves attacker-defined external entities, enabling local file disclosure, server-side request forgery, or denial of service. Exploitable whenever parsing allows DTDs and resolves entities.
- Server-side request forgery (SSRF)
- Related: Out-of-band interaction, Open redirect
The server fetches a URL chosen by the attacker, reaching internal services, cloud metadata endpoints, or localhost-only interfaces. Filters are commonly bypassed with redirects, alternate IP encodings, or DNS rebinding.
- Insecure deserialization
- Related: Sandbox escape, XML external entity (XXE)
Untrusted serialized data is reconstructed into objects, letting the attacker control class properties and trigger gadget chains during deserialization. Impact ranges from property injection to remote code execution depending on available libraries.
- Access control (IDOR)
- Related: Privilege escalation, Forced browsing
Missing or weak authorization checks let a user act on objects or functions beyond their privileges. Insecure direct object references change an identifier such as an account number and observe whether the server still enforces ownership.
- Privilege escalation
- Related: Access control (IDOR), Mass assignment
Gaining permissions the current identity should not hold, either vertically to a higher role or horizontally to another user's resources. Often results from trusting client-supplied role fields or missing server-side checks.
- Mass assignment
- Related: Privilege escalation, Parameter pollution
A framework binds all submitted fields onto an object, so adding an unexpected parameter such as isAdmin=true changes protected properties. Detectable by comparing accepted parameters against those the UI exposes.
- Parameter pollution
- Related: Mass assignment, HTTP request smuggling
Supplying the same parameter multiple times or in multiple locations so different layers parse different values. Can bypass validation, alter business logic, or split what a filter sees from what the application uses.
- HTTP request smuggling
- Related: Parameter pollution, Cache poisoning
Conflicting framing headers such as Content-Length and Transfer-Encoding cause a front-end and back-end server to disagree on request boundaries, letting an attacker prefix the next user's request. Requires precise timing and connection reuse.
- Cache poisoning
- Related: HTTP request smuggling, Host header injection
Injecting content into a shared cache so other users receive the attacker's response. Depends on unkeyed inputs, such as certain headers, influencing the cached response while the cache key stays the same.
- Host header injection
- Related: Cache poisoning, Open redirect
The application trusts the client-supplied Host header when building links or routing, enabling password-reset link poisoning, cache poisoning, or virtual-host confusion. Testing includes duplicate and absolute-form Host values.
- Open redirect
- Related: Server-side request forgery (SSRF), Host header injection
A parameter controls a redirect target without validation, sending users to an attacker-chosen site. Frequently chained into OAuth token theft, SSRF filter bypass, and phishing that appears to originate from the trusted domain.
- Cross-site request forgery (CSRF)
- Related: SameSite cookie, CORS misconfiguration
A third-party page causes the victim's browser to send an authenticated state-changing request. Defenses include unpredictable tokens, SameSite cookies, and origin checks; missing any one may leave a bypass.
- SameSite cookie
- Related: Cross-site request forgery (CSRF), CORS misconfiguration
A cookie attribute controlling whether it is sent on cross-site requests: Strict, Lax, or None. Lax still allows top-level GET navigations, so state-changing GET endpoints remain exposed.
- CORS misconfiguration
- Related: Cross-site request forgery (CSRF), Cross-site scripting (XSS)
A permissive Access-Control-Allow-Origin that reflects arbitrary origins together with credentials lets a malicious site read authenticated responses. Wildcard origins without credentials are less severe but still leak public data.
- Path traversal
- Related: File upload bypass, Command injection
Input containing dot-dot-slash sequences escapes an intended directory to read or write files elsewhere. Bypasses include encoding, double encoding, and absolute paths when normalization happens after validation.
- File upload bypass
- Related: Path traversal, Web shell
Circumventing extension, MIME, or content checks to upload an executable or dangerous file. Common tricks include alternate extensions, polyglot files, trailing characters, and content-type spoofing.
- Web shell
- Related: File upload bypass, Command injection
A small uploaded script that gives remote command execution through HTTP requests. Its presence converts a file upload or injection flaw into persistent interactive access to the server.
- Business logic flaw
- Related: Race condition, Parameter pollution
Abuse of intended workflows rather than parser or memory errors, such as negative quantities, skipped payment steps, or coupon reuse. Found by understanding what the application assumes users will do.
- Race condition
- Related: Business logic flaw, Repeater
Concurrent requests exploit a gap between a check and the action that depends on it, allowing limits to be exceeded or state to be corrupted. Testing requires synchronized or parallel request delivery.
- Out-of-band interaction
- Related: Blind SQL injection, Server-side request forgery (SSRF)
Confirming a vulnerability by making the target contact an external listener you control, via DNS or HTTP. Essential for blind injection, SSRF, and XXE where no direct response reveals success.
- Proxy history
- Related: Repeater, Target scope
Burp's running log of every request and response passing through the proxy, including those from other tools. It is the primary record for reviewing traffic, filtering by scope, and replaying interesting requests.
- Repeater
- Related: Proxy history, Intruder
A Burp tool for manually editing and resending a single request repeatedly while comparing responses. Used to confirm injection behavior, tune payloads, and measure timing differences precisely.
- Intruder
- Related: Repeater, Payload position
Burp's automated request tool that places payloads into marked positions and sends many variants. Attack types include sniper, battering ram, pitchfork, and cluster bomb, each varying how payload sets are combined.
- Payload position
- Related: Intruder, Cluster bomb
A marked insertion point in an Intruder request template, delimited by section signs, where payloads are substituted. Correct placement and count determine which attack type is appropriate.
- Cluster bomb
- Related: Payload position, Intruder
An Intruder attack type that tries every combination of payloads across multiple positions. Useful for username-password guessing but produces the largest request volume, so rate and scope must be controlled.
- Target scope
- Related: Proxy history, Scanner
Burp's allowlist of in-scope hosts and paths controlling what appears in site map, proxy history, and automated scanning. Setting scope prevents accidental testing of third-party systems.
- Scanner
- Related: Target scope, Repeater
Burp's automated component that crawls and audits in-scope traffic for known issue classes. Results require manual verification because findings can be false positives or miss logic flaws.
- Match and replace
- Related: Proxy history, Burp Collaborator
Proxy rules that rewrite requests or responses on the fly, such as changing user-agent strings or forcing headers. Handy for persistent testing conditions without editing every request manually.
- Burp Collaborator
- Related: Out-of-band interaction, Scanner
An external interaction server that records DNS and HTTP callbacks triggered by target systems. It provides the out-of-band channel needed to confirm blind SSRF, XXE, and injection vulnerabilities.
- Decoder
- Related: Comparer, Proxy history
A Burp utility for encoding and decoding data in formats such as URL, base64, hex, and HTML. Useful for transforming payloads and inspecting obfuscated tokens found in traffic.
- Comparer
- Related: Decoder, Repeater
A Burp tool that highlights differences between two requests, responses, or arbitrary text. Helpful for spotting subtle changes in tokens, cookies, or error messages across privilege levels.
- Sequencer
- Related: Cross-site request forgery (CSRF), Proxy history
A Burp tool that collects tokens such as session identifiers and analyzes their randomness. Poor entropy indicates predictable tokens that could enable session hijacking or CSRF token bypass.
- Extender
- Related: Scanner, Decoder
Burp's extension framework, supporting BApp store add-ons and custom code in Java, Python, or Ruby. Extensions add capabilities like custom scanners, encoders, or protocol support.