πŸ”§Global Variables

Global variables are dynamic placeholders that are replaced with actual values at runtime. They can be used in payloads, grep patterns, and raw request templates to make profiles reusable and configurable.

πŸ“ Variable Syntax

Variables use curly brace syntax: {VARIABLE_NAME}

http://{REDIRECT_DOMAIN}/callback
{CURRENT_HOST}:{CURRENT_PORT}

βš™οΈ User-Configurable Variables

These variables have default values that can be customized in the Variables tab:

Variable
Default Value
Description

{REDIRECT_DOMAIN}

bountysecurity.ai

πŸ”„ Domain for open redirect and SSRF testing

{ATTACKER_DOMAIN}

yourdomain.com

πŸ΄β€β˜ οΈ General attacker-controlled domain

{XXE_FILE}

/etc/passwd

🐧 File path for Linux XXE payload

{XXE_GREP}

root:x

πŸ” Expected content for Linux XXE match

{XXE_FILE_B64}

ZmlsZTovLy9ldGMvcGFzc3dk

πŸ”’ Base64-encoded Linux file path for XXE

{XXE_GREP_B64}

cm9vdD

πŸ”’ Base64-encoded content for XXE match

{XXE_WIN_FILE}

c:/boot.ini

πŸͺŸ File path for Windows XXE payload

{XXE_WIN_GREP}

boot loader

πŸ” Expected content for Windows XXE match

{XXE_WIN_FILE_B64}

ZmlsZTovLy9jOi9ib290LmluaQ==

πŸ”’ Base64-encoded Windows file path

{RCE_FILE}

/etc/passwd

πŸ“ File path for RCE verification

{RCE_COMMAND}

id

⚑ Command for RCE testing

✏️ Modifying Default Values

  1. Go to Burp Bounty Pro > Variables tab

  2. πŸ–±οΈ Double-click a variable to edit its value

  3. πŸ’Ύ Click Save

Changes are persisted in Burp Suite's extension settings and applied to all profiles at runtime.

βž• Adding Custom Variables

  1. Go to Burp Bounty Pro > Variables tab

  2. Click Add

  3. Enter the variable name (without curly braces) and value

  4. βœ… The variable is immediately available as {YOUR_VARIABLE_NAME} in all profiles

πŸ—‘οΈ Removing Variables

  1. Select the variable in the table

  2. Click Remove

⚠️ Note: Removing a default variable means any profiles using it will have the variable string left unresolved. Only remove variables you're sure are not used.

πŸ“‘ Context Variables (Auto-Populated)

These variables are automatically populated from the current request being scanned:

πŸ”— Request URL Variables

Variable
Description
Example

{CURRENT_URL}

πŸ”— Full request URL

https://example.com/path?id=1

{CURRENT_HOST}

πŸ–₯️ Target hostname

example.com

{CURRENT_PROTOCOL}

πŸ”’ Protocol scheme

https

{CURRENT_PORT}

πŸ”’ Target port

443

{CURRENT_PATH}

πŸ“‚ URL path

/path

{CURRENT_QUERY}

❓ Query string

id=1

{CURRENT_FILE}

πŸ“„ File component

page.html

{CURRENT_SUBDOMAIN}

🌐 Extracted subdomain

api (from api.example.com)

{CURRENT_METHOD}

πŸ“‘ HTTP method

GET

πŸ“‹ Request Header Variables

Variable
Description

{CURRENT_USER_AGENT}

πŸ–₯️ User-Agent header value

{CURRENT_COOKIES}

πŸͺ Cookie header value

{CURRENT_REFERER}

πŸ”— Referer header value

{CURRENT_ORIGIN}

🌐 Origin header value

{CURRENT_CONTENT_TYPE}

πŸ“„ Content-Type header value

{CURRENT_ACCEPT}

βœ… Accept header value

{CURRENT_ACCEPT_LANGUAGE}

🌍 Accept-Language header value

{CURRENT_ACCEPT_ENCODING}

πŸ“¦ Accept-Encoding header value

{CURRENT_CONTENT_LENGTH}

πŸ“ Content-Length header value

πŸ“ Insertion Point Variables

Variable
Description

{CURRENT_INSERTION_POINT_VALUE}

πŸ“ The current value of the insertion point being tested

{CURRENT_INSERTION_POINT_NAME}

🏷️ The name of the insertion point being tested

⚑ Special Variables

🌐 Burp Collaborator

Variable
Description

{BC}

🌐 Generates a unique Burp Collaborator subdomain

Use {BC} for out-of-band vulnerability detection. Each occurrence generates a unique subdomain that Burp Collaborator monitors for interactions.

🎲 Random Values

Variable
Description

{RANDOM}

πŸ”€ Unique identifier (ULID format)

{RANDOM_ALPHANUM_8}

πŸ”€ 8-character random alphanumeric string

{RANDOM_ALPHANUM_16}

πŸ”€ 16-character random alphanumeric string

Use random values for cache busting, unique markers, or canary tokens:

πŸ“‘ Raw Request Variables

These variables are specifically for use in Raw Request mode:

Variable
Description

{PAYLOAD}

πŸ’‰ The current payload being tested

{PAYLOAD_URL}

πŸ”— The current payload, URL-encoded

{URL}

πŸ”— The full target URL

{COOKIE}

πŸͺ Cookies from the original request

βš™οΈ Variable Replacement Order

Variables are replaced in this order during scanning:

  1. 🌐 Global/user-defined variables from VariablesManager ({REDIRECT_DOMAIN}, {ATTACKER_DOMAIN}, custom variables)

  2. πŸ“‘ Context variables from the current request ({CURRENT_HOST}, {CURRENT_PATH}, etc.)

  3. ⚑ Special variables ({BC}, {RANDOM}, etc.)

Variables are replaced in both payloads and grep patterns, so you can use variables on both sides:

πŸ“š Examples

πŸ”„ Open Redirect Testing

🌐 SSRF with Collaborator

πŸ’‰ Parameter Pollution

Last updated