tools

Overview

Burp Intruder automates sending many payload variations to a target parameter — making it the core tool for fuzzing, directory enumeration, credential brute-forcing, and parameter injection within Burp Suite. Community Edition is rate-limited to approximately 1 request per second. For high-speed fuzzing without a Pro license, use OWASP ZAP’s fuzzer or CLI tools like GoBuster or Hydra instead.

Target / Context

Any parameterized HTTP request. Used for directory and endpoint discovery, credential attacks, parameter fuzzing, and Active Directory web application spraying.


Installation

ℹ︎Installation Commands:

Part of Burp Suite — see Burp Suite for installation.


Basic Usage

ℹ︎Basic Usage:
  1. Right-click a request in Proxy History or Intercept pane → Send to Intruder (CTRL+I)
  2. Navigate to Intruder tab (CTRL+SHIFT+I) — Target field is populated from the request
  3. Positions tab — clear auto-detected markers, then select the target parameter and click Add §
  4. Payloads tab — configure wordlist or payload type
  5. Settings tab — configure matching, filtering, and resource options
  6. Click Start Attack

Flags & Options

ℹ︎Attack Types:
TypeBehaviorBest For
SniperOne payload set inserted at each marked position in turnSingle-parameter fuzzing
Battering RamOne payload set inserted at ALL positions simultaneouslyTesting one value across multiple params at once
PitchforkMultiple payload sets inserted in parallel (set 1 → pos 1, set 2 → pos 2)Known username/password pairs
Cluster BombMultiple payload sets — all combinations testedFull credential brute-force
ℹ︎Payload Types:
TypeDescription
Simple ListStatic wordlist — load from file or enter manually
Runtime FileLoads entries line-by-line during the attack — avoids high memory usage for very large lists
Character SubstitutionTries permutations using defined character swaps (e.g., leet speak)
NumbersGenerates a numeric sequence with configurable range, step, and format
DatesGenerates date sequences in configurable formats

Common Use Cases

Directory and Path Fuzzing

ℹ︎Steps:
  1. Capture a GET /DIRECTORY/ HTTP/1.1 request in Proxy → CTRL+I
  2. Positions tab → Clear § → select the directory name portion → Add §
  3. Payloads tab → Type: Simple List → Load → select wordlist (e.g., seclists/Discovery/Web-Content/common.txt)
  4. Payload Processing → Add Rule → “Skip if matches regex” → pattern: ^..*$ (skips dotfile entries)
  5. Settings tab → Grep - Match → Clear → type 200 OK → Add (flags successful responses)
  6. Start Attack → sort by the grep match column to isolate hits

Credential Brute Force

ℹ︎Steps:
  1. Capture a login POST request → CTRL+I
  2. Positions tab → use Pitchfork attack type
  3. Mark the username and password fields as separate payload positions
  4. Payload Set 1: username list; Payload Set 2: password list
  5. Start Attack → sort by response length or status code to identify a successful login

Password Spraying (AD Web Applications)

Targets OWA (Outlook Web Access), SSL VPN portals, RDS web clients, Citrix, and custom web applications using Active Directory authentication.

ℹ︎Steps:
  1. Capture a failed login POST request → CTRL+I
  2. Positions tab → Sniper attack type → mark only the username field
  3. Set the password field to a fixed spray value (e.g., Winter2024!) before marking positions
  4. Load a username list as the payload
  5. Start Attack → filter by response code and body length to find a valid login

Settings Reference

ℹ︎Grep Options:
OptionPurpose
Grep - MatchFlag responses that contain a specific string — useful for isolating 200 OK or error messages
Grep - ExtractPull a specific value out of each response into the results table — useful when responses are long
ℹ︎Payload Processing Rules:

Applied to every wordlist entry before it is sent.

Rule TypeExample Use
Skip if matches regexSkip dotfiles: ^..*$
Add prefixPrepend a path component
Add suffixAppend .php, .bak, or other extensions
EncodeURL-encode or hash payloads before sending
ℹ︎Resource Pool:

Configure via Settings tab → Resource Pool Controls the number of concurrent threads and request rate — relevant for managing impact on the target or staying within rate limits. Community Edition thread count does not bypass the overall speed throttle.



References / Images