A Burp Suite helper extension focused on report-ready outputs for security assessments.
It provides:
- quick “missing security headers” report generation (general + API profile),
- a MultiSession check workflow (compare two session contexts and replay requests),
- a one-click copy Request/Response formatter for reporting templates.
All outputs are copied to clipboard in a tagged format (e.g., [target]...[/target], [request]...[/request]) and use [br] line breaks to match common reporting systems.
Context menu: Generate Missing Headers
Checks response headers against a predefined list of common security headers:
X-Frame-OptionsX-Content-Type-OptionsStrict-Transport-SecurityContent-Security-PolicyReferrer-PolicyPermissions-PolicyCache-Control
If any are missing, it copies a report block to clipboard containing:
- target URL,
- the missing headers list,
- request headers,
- response headers (truncated with
[...]).
Context menu: Generate API Missing Headers
Checks response headers against a smaller, API-oriented list:
Content-typeCache-ControlStrict-Transport-SecurityX-Frame-Options
Output format and clipboard behavior are the same as the general variant.
This workflow helps when you need to compare behavior across two different authenticated sessions and capture evidence for reporting.
In the request editor context menu:
- [MultiSession] Set as first request
- [MultiSession] Set as second request
- [MultiSession] Execute MultiSession Check (appears only when both are set)
- Extracts and compares:
Cookie:values (per-cookie diff)Authorization:header (if different)
- Sends 3 requests:
- sends the first request
- sends the second request
- sends the first request again (final replay)
- Builds a single clipboard payload containing:
[token1]/[token2]blocks (cookie diffs)[auth_header1]/[auth_header2]if Authorization differs[request1]...[response1][request2]...[response2][request3]...[response3]
MultiSession output can be huge, so it uses chunked clipboard copying:
- copies up to
MULTISESSION_CHUNK_SIZEcharacters per chunk (default:9999) - shows progress dialogs:
Skopiowano 1/7→ OK →Skopiowano 2/7→ …
This avoids clipboard/UI limits in tools that can’t handle massive single-shot paste.
Context menu: Copy Request/Response
Copies a report snippet containing:
[target]...[/target][request]...[/request](headers + body)[response]...[/response](headers +[...])
If the response is missing, it falls back to copying only the request block.
Before copying to clipboard, the extension:
- removes any lines starting with
Sec-(to reduce noise), - converts line breaks into:
... [br]\n
This is tailored for report templates/editors that interpret [br] as a line break.
- Burp Suite → Extender → Extensions → Add
- Type: Python
- Select the
.pyfile (Jython 2.7) - Make sure Jython is configured in Extender → Options → Python Environment
- Load the extension — Burp output should display:
Report tool By: Paweł Zdunek - AFINE Team v1.04
- Missing headers checks are purely based on presence/absence of header names (case-insensitive match on header key).
- MultiSession comparisons:
- cookie parsing assumes
Cookie: a=b; c=dstyle formatting, - only compares cookie key/value pairs and the raw
Authorization:header line.
- cookie parsing assumes
- Response bodies in MultiSession are truncated if the body exceeds ~200 bytes (headers +
[...]), to keep evidence compact.