Skip to content

Fuzzer ​

The Fuzzer is a full-featured HTTP/WebSocket fuzz testing engine with multi-position marking, multiple attack modes, rich payload generators, vulnerability detection, and anomaly analysis.

Overview ​

  • Multi-Position Marking: URL, path, query params, headers, cookies, body, JSONPath, XMLPath, and raw marker positions
  • Attack Modes: Sniper, Battering Ram, Pitchfork, Cluster Bomb (Burp Intruder compatible)
  • Payload Generators: Simple list, number range, random data, wordlist reference, variable templates
  • Encoder Chain: Base64, Hex, URL Encode, Double URL Encode, Unicode, JWT
  • Vulnerability Packs: Built-in SQLi, XSS, SSTI, Path Traversal, SSRF payloads
  • Anomaly Detection: Auto-detect server errors, stack traces, login success indicators
  • Wordlist Management: Built-in categories + custom wordlists, file import, SecLists download
  • Auth Profiles: OAuth token auto-refresh and other auth schemes
  • WebSocket Fuzzing: Frame mutation testing for WebSocket endpoints
  • Sequence Fuzzing: Multi-step API workflow fuzz testing
  • OpenAPI Import: Generate requests from OpenAPI specs
  • Script Extension: Pre/post processing scripts in Rhai

Interface ​

Fuzzer sessions are managed in tabs:

mermaid
flowchart LR
    Positions[Mark Positions] --> Attack[Attack Mode]
    Attack --> Payload[Payload Config]
    Payload --> Execute[Execute Job]
    Execute --> Results[Result Analysis]
    Results --> Vuln[Vuln Detection]

Position Marking ​

Auto Detection ​

After pasting a raw HTTP request, the fuzzer automatically detects mutable positions:

Position TypeDescriptionExample
URLFull URLhttps://target.com/api
PathURL path segment/api/users/123
QueryQuery parameter value?id=123
HeaderHeader valueAuthorization: Bearer xxx
CookieCookie valuesession=abc123
BodyBody content{"userId": 123}
JSONPathJSON field path$.user.id
XMLPathXML node path/root/user/id

Manual Marking ​

Use § markers in the request editor to define custom positions:

http
POST /api/users/§123§ HTTP/1.1
Host: target.com
Authorization: Bearer §token§
X-User-Id: §456§

{"id":§789§}

Each § marker becomes an independently configurable position.

Attack Modes ​

ModeDescriptionCase Count
SniperReplace one position at a timepositions × payloads per position
Battering RamAll positions use same payload simultaneouslypayload count
PitchforkEach position uses different payload set, parallel by indexmax payload set length
Cluster BombCartesian product across all positionspayloads per position multiplied

Payload Configuration ​

Payload Generators ​

GeneratorDescription
Simple ListManually entered string list
Number RangeNumber range (start, end, step)
Random StringFixed-length random string
Random UUIDRandom UUID v4
Random IntRandom integer in range
Random EmailRandom email address
Random IPRandom IP address
Random MACRandom MAC address
Random DateRandom date string
Random TimestampRandom timestamp
Wordlist ReferenceReference built-in or custom wordlist
VariableVariable template (e.g. , )

Encoders ​

Each payload set can configure an encoder chain:

EncoderDescription
NoneNo encoding
Base64Base64 encode
HexHex encode
URL EncodeURL percent-encode
Double URL EncodeDouble URL encode
UnicodeUnicode escape
JWTJWT format encoding

Wordlist Management ​

Built-in security testing wordlists covering common vulnerability scenarios:

  • SQL Injection: SQL keywords, error-based payloads, time-based blind
  • XSS: Reflected, stored, DOM-based
  • Path Traversal: Unix/Windows traversal patterns
  • SSRF: Internal addresses, cloud metadata endpoints
  • Command Injection: OS command injection
  • Auth Bypass: Common tokens, default credentials
  • File Upload: WebShell, MIME type bypass

Features:

  1. Import custom wordlists (TXT files)
  2. Manage wordlists by category
  3. Download SecLists public wordlists
  4. Preview wordlist content

Vulnerability Packs ​

Pre-configured attack payload packs for one-click selection:

Pack IDNameSample Payloads
sqliSQL Injection' OR '1'='1, 1; DROP TABLE users--
xssCross-Site Scripting<script>alert(1)</script>, <img src=x onerror=alert(1)>
sstiServer-Side Template Injection49, ${7*7}, <%= 7*7 %>
path_traversalPath Traversal../../../etc/passwd, ..\..\..\windows\win.ini
ssrfSSRFhttp://127.0.0.1, http://169.254.169.254
cmd_injectionCommand Injection;id, |whoami, $(cat /etc/passwd)
idorIDOR Numeric MutationAdjacent ID enumeration
auth_stripAuth StrippingRemove Authorization/Cookie headers

Anomaly Detection ​

Each response is automatically analyzed for anomalies:

Anomaly TypeSeverityDescription
Server ErrorHighHTTP 5xx status code
SQL ErrorHighDatabase error messages in response
Stack TraceMediumJava/Python/PHP/.NET stack traces
Login SuccessMediumResponse indicates auth bypass
Status ChangeLowDifferent status code from baseline
Length ChangeLowResponse length differs beyond threshold
Keyword MatchLowResponse contains configured keyword

Result filtering:

  • Show anomalies only: Display only flagged results
  • Show diffs only: Display only results differing from baseline
  • Custom filters: Combined filtering by status code, length, keywords

Execution Config ​

OptionDefaultDescription
Concurrency3Concurrent requests (max 256)
Request Interval0msFixed interval between requests
Rate Limit0/sMax requests per second
Random Delay0msMax random delay between requests
Timeout30sSingle request timeout
Max Retries1Retry on failure
Retry 5xxNoRetry on server errors
Baseline FirstYesSend original request as baseline
Max Cases200Max generated test cases
Compare KeywordResponse body keyword comparison

Auth Profiles ​

Configure auth schemes to automatically maintain credentials during fuzzing:

TypeDescription
OAuth 2.0Auto-refresh tokens
API KeyStatic API key
Basic AuthUsername/password
CookieSession cookie

WebSocket Fuzzing ​

Fuzz WebSocket endpoints:

  1. Configure WebSocket URL (ws:// or wss://)
  2. Set handshake headers (optional)
  3. Define baseline text frame (can include § markers)
  4. Execute mutations
  5. Analyze response frames

Sequence Fuzzing ​

Fuzz multi-step API workflows:

  1. Import multi-step requests from sequences
  2. Select target steps for fuzzing
  3. Configure mutation positions and payloads per step
  4. Execute step-by-step
  5. Supports prefix reduction strategy per step

OpenAPI Import ​

Import from OpenAPI 2.0/3.0 specification files:

  1. Upload or paste OpenAPI JSON/YAML
  2. Auto-parse all API endpoints
  3. Select target endpoints to generate fuzz requests
  4. Auto-fill parameter example values

Result Analysis ​

Results List ​

FieldDescription
Case IDTest case number
LabelCase description label
Status CodeHTTP response status code
Response LengthResponse body size (bytes)
DurationRequest processing time (ms)
Diff FlagsDifference dimensions from baseline
Anomaly FlagsDetected anomaly types

Diff Comparison ​

Multi-dimensional diff calculated against baseline:

  • Status code change
  • Response length change
  • Body hash difference
  • Header difference
  • JSON structure diff

Result Actions ​

  • View Details: Full request/response
  • Send to Repeater: Further verify suspicious requests
  • Create Finding: Record vulnerability as security finding
  • Export: JSON/CSV format

Script Extension ​

Pre Script ​

Rhai script executed before each request, useful for:

  • Dynamic request data generation
  • Signature calculation
  • Conditional logic

Post Script ​

Rhai script executed after each response, useful for:

  • Custom anomaly detection
  • Response data extraction
  • Dynamic token updates

Use Cases ​

Parameter Injection Testing ​

1. Mark query params, body fields, etc.
2. Select SQL injection detection pack as payload
3. Sniper mode tests one position at a time
4. Filter anomaly results for verification

Auth Bypass Testing ​

1. Mark Authorization or Cookie headers
2. Use auth stripping pack
3. Configure "login success" keyword filter
4. Filter non-401/403 responses

Multi-Step Workflow Testing ​

1. Import API workflow from sequences
2. Select sensitive steps as fuzz targets
3. Configure mutation strategy per step
4. Execute sequence fuzz
5. Analyze prefix dependencies and response changes

Notes ​

Responsible Use

  • Only test authorized targets
  • Control request rate to avoid target overload
  • Comply with applicable laws and regulations

Performance

  • Start with 3-5 concurrency, adjust based on target response speed
  • Use filtering to focus on anomaly results for large case sets
  • WebSocket and sequence fuzzing consume more resources