dalfox
Fast XSS scanner and parameter analyzer. Go-based.
Quickstart
dalfox url "https://target.com/page?q=test"
dalfox file urls.txt
cat params.txt | dalfox pipe
Core Concepts
| Concept |
Description |
| Parameter analysis |
Find reflections |
| XSS detection |
Test various payloads |
| BAV |
Blind XSS with callback |
| DOM |
DOM-based XSS detection |
Syntax
dalfox url <url> [options]
dalfox file <file> [options]
dalfox pipe [options]
Options
Target
| Option |
Description |
url <url> |
Single URL |
file <file> |
URL list |
pipe |
Read from stdin |
-p <param> |
Test specific parameter |
Detection
| Option |
Description |
--deep-domxss |
Deep DOM XSS scan |
--follow-redirects |
Follow redirects |
--mining-dict |
Use dictionary mining |
--mining-dom |
Mine DOM sources |
--only-discovery |
Find params only |
--skip-bav |
Skip blind XSS |
Blind XSS
| Option |
Description |
-b <url> |
Blind XSS callback |
--blind <url> |
Same as -b |
Request
| Option |
Description |
-H <header> |
Custom header |
--cookie <c> |
Cookie |
--data <d> |
POST data |
--proxy <url> |
Proxy |
--user-agent <ua> |
User agent |
Output
| Option |
Description |
-o <file> |
Output file |
--format <f> |
Format (plain, json) |
--silence |
Silence mode |
-v |
Verbose |
| Option |
Description |
-w <n> |
Workers (default 40) |
--delay <ms> |
Delay between requests |
--timeout <sec> |
Timeout |
Recipes
Basic XSS Scan
dalfox url "https://target.com/search?q=test"
dalfox url "https://target.com/search?q=test&id=1" -p q
dalfox file urls.txt
With Blind XSS
dalfox url "https://target.com/page?q=test" -b "https://your-server.com/xss"
dalfox url "https://target.com/page?q=test" -b "https://abc123.oast.fun"
POST Requests
dalfox url "https://target.com/submit" --data "name=test&email=test@test.com"
dalfox url "https://target.com/submit" --data "name=test" -p name
Pipeline
cat params.txt | dalfox pipe
katana -u https://target.com -silent | dalfox pipe
katana -u https://target.com -silent | grep "?" | dalfox pipe
waybackurls target.com | grep "?" | dalfox pipe -b "https://blind.server"
Custom Payloads
dalfox url "https://target.com/page?q=test" --custom-payload payloads.txt
Through Proxy
dalfox url "https://target.com/page?q=test" --proxy "http://127.0.0.1:8080"
With Authentication
dalfox url "https://target.com/page?q=test" --cookie "session=abc123"
dalfox url "https://target.com/page?q=test" -H "Authorization: Bearer token"
Discovery Only
dalfox url "https://target.com/page?q=test" --only-discovery
dalfox url "https://target.com/page" --mining-dict
Output & Parsing
dalfox url "https://target.com/page?q=test" --format json -o results.json
cat results.json | jq -r '.[] | select(.type == "V") | .data'
dalfox url "https://target.com/page?q=test" -o results.txt
Troubleshooting
| Issue |
Solution |
| No vulns found |
Increase payloads, check manually |
| WAF blocking |
Use proxy, reduce speed |
| False positives |
Verify in browser |
| Timeout |
Increase --timeout |
References