Burp Suite Intruder Automation: XSS & SSRF in 19 Steps
If you're serious about finding web bugs, you need repeatable workflows—not "click stuff until something breaks" energy.
This guide shows Burp Suite Intruder automation for XSS and SSRF in a way that's safe, authorized, and actually useful. We'll focus on canary testing, signal-based triage, and PortSwigger tools like Burp Collaborator (for out-of-band detection). (PortSwigger)
⚠️ Important: I'm keeping this firmly in authorized testing territory (your own apps, explicit pentest permission, or PortSwigger labs). I'm not going to provide "attack payload lists" meant to target real systems.
🧭 What “automation” really means in Burp (and what it doesn’t)
Burp Suite Intruder automation is best when you treat Intruder like a smart request generator + comparator:
- It sends controlled variations of a request.
- It helps you spot differences (status, length, timing, headers).
- It lets you scale "what if this parameter is insecure?" across many inputs.
What it doesn't do well (by itself):
- Prove exploit impact without manual validation.
- Understand business logic.
- Magically identify context for every XSS sink.
So the winning move is: automate discovery → manually confirm impact → write clean reports.
🔐 Scope rules that keep you out of trouble (and make results better)
Before you run Burp Suite Intruder automation on anything:
- Confirm written permission (or use PortSwigger labs).
- Set target scope in Burp (keeps you from wandering into third-party domains).
- Rate-limit: fewer threads, reasonable delays, and "stop on errors" behavior.
- Log everything: request, response, timestamps, and test IDs.
This isn't just "be nice." It's how you avoid noise and false positives.
⚙️ Baseline Burp setup for repeatable testing
Here's the boring foundation that makes everything else work:
✅ 1) Use a dedicated Burp project per target
Name it like:
targetname-lab-xss-ssrftargetname-staging-2025-12
✅ 2) Turn on clean logging
- Keep Burp history tidy by filtering to in-scope items.
- When you find something, tag it with a consistent label (example:
SSRF-CANARY-HIT).
✅ 3) Prefer Repeater before Intruder
Intruder scales; Repeater confirms. Every time.
🧪 Canary testing: the safest way to automate SSRF and XSS checks
If you want Burp Suite Intruder automation that stays ethical, you need canaries.
A canary is a unique marker you control, used to detect unsafe behavior without "going nuclear."
✅ Canary rules (simple and effective)
- Every payload includes a unique token:
CANARY-- - You track results by searching for that token:
- in responses (reflection)
- in Burp Collaborator interactions (out-of-band) (PortSwigger)
This makes your testing:
- measurable
- reproducible
- report-friendly
🌐 SSRF automation with Intruder (safe + signal-based)
SSRF isn't about "did I get a page back?" That's only one case.
Often SSRF is blind, meaning the app makes a server-side request but doesn't show the response. That's where Burp Collaborator shines. (PortSwigger)
✅ Step 1: Identify SSRF-style inputs
Look for parameters that could trigger server requests:
url=image=callback=webhook=feed=- PDF generators, link previewers, import tools
✅ Step 2: Send the request to Intruder
In Burp: right-click request → Send to Intruder.
✅ Step 3: Mark only the URL value as the position
Use one position for clean results. Example format:
POST /some-endpoint HTTP/1.1
Content-Type: application/json
✅ Step 4: Use “canary URLs” you control
For authorized testing, your payload list should be built around:
- endpoints you own
- lab endpoints
- Burp Collaborator payloads (for blind SSRF detection) (PortSwigger)
What you're looking for (signals):
- Status code changes
- Response length differences
- New error messages
- Consistent time shifts
- Collaborator interactions (DNS/HTTP) (PortSwigger)
✅ Step 5: Confirm with Collaborator (blind SSRF)
Burp Collaborator is designed to detect "invisible" issues using out-of-band application security testing (OAST). (PortSwigger)
Once you see an interaction:
- record the timestamp
- capture the exact request you sent
- confirm repeatability (one more run, same result)
✅ Step 6: Reduce false positives fast
Common SSRF false positives include:
- URL validation that resolves DNS but blocks HTTP
- async workers that fetch later
- caching that makes timing weird
Fix this by:
- repeating the same token twice
- using distinct tokens per attempt
- comparing against a "known safe" request
🧨 XSS automation with Intruder (reflection-first, then manual proof)
Here's the blunt truth:
Burp Suite Intruder automation can help you discover reflection, but execution proof still needs manual validation.
So we do this in two phases:
✅ Phase A: Automate reflection discovery
Use Intruder to send unique canary strings and see if they come back unencoded.
Example approach:
- payload:
CANARY-XSS-20251228-001 - look for it in:
- HTML response body
- JSON responses
- template fragments
Signals that matter:
- your canary appears verbatim
- it appears in a risky context (HTML attributes, scripts, inline event handlers)
✅ Phase B: Manually validate execution (lab/owned apps)
Once you find strong reflection, validate safely:
- Use Burp's browser or your test browser profile
- Confirm whether the app encodes output properly (OWASP-style output encoding is the standard defense). (OWASP Cheat Sheet Series)
✅ DOM XSS: use DOM Invader
DOM XSS can be invisible in server responses because the browser builds the sink client-side.
DOM Invader is built for finding DOM-based issues inside Burp. (YouTube)
🧩 Extensions that make Burp Suite Intruder automation smarter
Burp extensions can speed up both discovery and validation.
Here are the "worth it" ones:
- Hackvertor (payload transformations for testing output handling) (PortSwigger)
- Param Miner (finds hidden/unlinked parameters you'd otherwise miss) (PortSwigger)
- Collaborator Everywhere (helps push canary/OAST-style probes broadly, useful for blind behaviors) (PortSwigger)
- DOM Invader (DOM XSS detection inside Burp) (YouTube)
Install path:
Extensions → BApp Store → Install.
📊 Triage like a pro: sorting Intruder results without losing your mind
Intruder will happily generate a mountain of output. Your job is to make it tell the truth.
✅ Sort by these columns first
- Status
- Length
- Time
- Words (if available)
- Redirect location
✅ Add quick “decision rules”
For SSRF candidates:
- repeated differences + Collaborator hits = strong signal (PortSwigger)
For XSS candidates:
- reflection + unsafe context + no encoding = high priority (OWASP recommends output encoding as primary defense) (OWASP Cheat Sheet Series)
✅ Don’t chase every “weird response”
If you can't reproduce it twice, it's probably junk.
🧱 Building your own payload lists (safely)
Your payload list should be:
- small
- controlled
- easy to report
- unique per run
✅ SSRF list structure
Use:
- your controlled endpoints
- your canary tokens
- Collaborator payloads for blind detection (PortSwigger)
✅ XSS list structure
Start with:
- canary strings for reflection
- then a minimal validation step in your owned app or lab
Keep bypass tricks for later, and only where you have permission.
🎮 Practice plan: PortSwigger labs for SSRF and XSS
If you want to learn without risk, PortSwigger Web Security Academy labs are the best place to grind skill.
Good starting labs:
- Reflected XSS labs (PortSwigger)
- SSRF labs (basic + variations) (PortSwigger)
You can run your Burp Suite Intruder automation workflow against these labs and build muscle memory.
🧾 Reporting template that wins bug bounties
Your automation should produce report-ready artifacts:
Include:
- Title: "Potential SSRF via url parameter (OAST confirmed)"
- Scope proof: target + permission/lab name
- Exact request (sanitized)
- Unique canary token used
- Evidence:
- response diffs (status/length/time)
- Collaborator interaction logs if blind SSRF (PortSwigger)
- Impact statement
- Fix guidance:
- SSRF: allowlists, URL parsing, block internal ranges, enforce egress controls
- XSS: output encoding, CSP, safe templating (OWASP guidance) (OWASP Cheat Sheet Series)
🧾 Quick reference table:
| Task | Best Burp Tool | What to Look For | Proof Artifact |
|---|---|---|---|
| SSRF discovery | Intruder | Status/length/time differences | Intruder results + reproducible request |
| Blind SSRF confirmation | Burp Collaborator | DNS/HTTP interactions (OAST) | Collaborator log entries |
| XSS reflection discovery | Intruder | Canary reflected unencoded | Response snippet with token |
| DOM XSS checks | DOM Invader | Client-side sinks | DOM Invader findings |
✅ Conclusion: the “adult” way to automate
If you take one thing away, take this:
Burp Suite Intruder automation is a discovery accelerator, not a substitute for thinking.
Use canaries, keep strict scope, confirm with Repeater, and lean on Collaborator for blind behaviors. (PortSwigger)
If you want, I can also give you a clean "workspace template" (naming, tags, logging conventions) so every Burp session looks the same and your reports practically write themselves.
If you want help tightening your security workflow for your site or apps, reach me via Contact or check Support. For broader wellness/safety topics, I also keep resources on Health.
🔎 Online research verification (what I validated)
- Burp Collaborator's purpose and its OAST/out-of-band workflow. (PortSwigger)
- PortSwigger lab availability for SSRF/XSS practice paths. (PortSwigger)
- OWASP's emphasis on output encoding as a key XSS mitigation approach. (OWASP Cheat Sheet Series)
- Burp extension references (Hackvertor, Param Miner, Collaborator Everywhere, DOM Invader). (PortSwigger)
❓ Frequently Asked Questions
1) What is Burp Suite Intruder automation used for?
It's used to repeat a request with controlled variations so you can spot differences that hint at security bugs or input-handling flaws.
2) Can Burp Suite Intruder automation “find XSS automatically”?
It can find reflection signals, but you still need manual validation to prove execution and impact.
3) Why do canary tokens matter?
They make your tests traceable and reproducible, and they reduce confusion when you're running many variations.
4) What makes SSRF hard to confirm?
Many SSRF cases are blind, meaning you don't see the fetched content in the response.
5) How does Burp Collaborator help with SSRF?
It detects out-of-band interactions (like DNS/HTTP callbacks) that confirm the server made a request. (PortSwigger)
6) What’s the safest place to learn SSRF and XSS?
PortSwigger Web Security Academy labs are designed for legal practice and skill building. (PortSwigger)
7) Should I use Intruder before Repeater?
No. Use Repeater to confirm your baseline request first, then scale with Intruder.
8) What’s the fastest way to triage Intruder results?
Sort by status, length, and time, then look for repeatable patterns.
9) Does encoding always mean “no XSS”?
Not always, but good output encoding is a major defense recommended by OWASP. (OWASP Cheat Sheet Series)
10) What is DOM Invader used for?
It helps identify DOM-based issues that don't show up as server-side reflection. (YouTube)
11) Are Burp extensions worth installing?
Yes—especially Param Miner and Collaborator Everywhere for discovery and coverage. (PortSwigger)
12) What’s the biggest mistake beginners make with Burp Suite Intruder automation?
They blast too many requests too fast and create noise, rate-limits, and unreliable results.
13) How do I avoid false positives in SSRF testing?
Repeat tests with fresh tokens, compare against a "known safe" baseline, and rely on out-of-band proof when possible. (PortSwigger)
14) What should a good bug bounty report include?
Clear steps, exact endpoints, evidence (screenshots/logs), impact, and fix guidance.
15) Can I use this workflow on production targets?
Only with explicit permission. Otherwise, stick to labs or your own test environments.
📚 Sources & References
- PortSwigger: Burp Collaborator (PortSwigger)
- PortSwigger: Typical uses for Burp Collaborator (PortSwigger)
- PortSwigger Web Security Academy: SSRF (PortSwigger)
- PortSwigger Web Security Academy: XSS (PortSwigger)
- OWASP: XSS Prevention Cheat Sheet (OWASP Cheat Sheet Series)
- PortSwigger: BApp Store (extensions) (PortSwigger)
Related Videos:
Related Posts:
XSS Prevention: 17 Practical Defenses That Actually Work
CSRF Testing Guide: 17 Practical Steps to Find Vulnerabilities
Canadian Justice System: 17 Essential Parts Explained
LinkedIn Scraping: Methods, Risks, and Defense Playbook
RR0288 Requisition for Assessment Ontario: Practical Guide
