Updated Jul 15, 2026

Vulnerabilities

Confirm reflected and blind XSS on named parameters

Parameter XSS analysis with optional blind callbacks.

Agent

overview

What xspear does

xspear tests web parameters for cross-site scripting. Point --url at a target, name fields with --param, and it analyzes reflection before firing payloads to confirm where injection executes.

Blind XSS is supported through -b so injections that fire later in an admin panel or log still report back. Drive POST with --data, add --cookie or --headers for session context, load --custom-payload JSON, and choose cli, json, or html via --output.

Compared with dalfox, xspear stays on focused Ruby parameter analysis and confirmation. Compared with nuclei, it stays on XSS instead of multi-class templates. Run it after discovery yields live parameterized URLs; use --no-xss when you only want reflection context first. Trickest runs it as a managed Vulnerabilities node.

source github.com/hahwul/XSpear

use cases

Where xspear fits

Test parameters for reflected XSS

Point xspear at a URL and its parameters so it analyzes reflection and confirms which inputs let injected script execute.

Catch blind XSS with a callback

Supply a blind XSS vector with -b so injections that only fire later, in an admin view or log, still report back through your callback host.

Drive custom payloads

Load a custom payload JSON file with --custom-payload to test the specific vectors a target's filtering requires, beyond the built-in set.

Emit JSON or HTML for reporting

Choose --output so confirmed findings flow into an automated pipeline as JSON or land as a readable HTML report.

reference

xspear inputs and flags

15 inputs
NameTypeFlagDescription
target-urlSTRING--urlTarget URL to scan for XSS.
paramSTRING--paramParameters to test.
post-dataSTRING--dataPOST method body data.
cookieSTRING--cookieCookie to add to requests.
blind-vectorSTRING-bBlind XSS vector for XSS Hunter, ezXSS, HBXSS, etc.
custom-payload-json-fileFILE--custom-payloadLoad a custom payload JSON file.
output-formatSTRING--outputOutput format: cli, json, html.
threadsSTRING--threadsNumber of threads (default 10).

Showing key inputs. xspear exposes 15 inputs in total.

Full flag reference (15 inputs)
NameTypeFlagDescription
paramSTRING--paramTest paramters
cookieSTRING--cookieAdd Cookie
no-xssBOOLEAN--no-xssDon't test XSS, only parameters analysis
headersSTRING--headersAdd HTTP Headers
raw-sslBOOLEAN--raw-sslhttp/https switch for burp raw file
threadsSTRING--threadsThreads , default: 10
post-dataSTRING--dataPOST Method Body data
target-urlSTRING--urlTarget Url
config-fileFILE--configUse config file
blind-vectorSTRING-bAdd vector of Blind XSS. With XSS Hunter, ezXSS, HBXSS... e.g: https://hahwul.xss.ht
burp-raw-fileFILE--rawLoad raw file(e.g raw_sample.txt)
output-formatSTRING--outputOutput format (cli , json, html)
verbose-levelSTRING--verboseShow log depth. 0: quite mode(only result) 1: show scanning status(default) 2: show scanning logs 3: show detail log(req/res)
test-all-paramsBOOLEAN--test-all-paramsTest to all params(include not reflected)
custom-payload-json-fileFILE--custom-payloadLoad custom payload json file

example

Run xspear

xspear · command
# xspear: reflected XSS test on query params, JSON outputxspear --url 'https://app.example.com/search?q=test&lang=en' --param q,lang --threads 10 --output json
sample output
[*] Target: https://app.example.com/search?q=test&lang=en[+] Reflected: q on https://app.example.com/search[+] Reflected: lang on https://app.example.com/search[!] XSS confirmed: q -> https://app.example.com/search?q=<payload>[!] XSS confirmed: lang -> https://app.example.com/search?lang=<payload>[*] Blind vector armed for callback on admin.example.com[*] 2 confirmed XSS / 2 reflected params[*] Results written for app.example.com

guidance

Choosing xspear

Use xspear when you want focused XSS testing on known parameters, including blind XSS via -b. For hidden parameter discovery first, run x8; for broad multi-class scanning, run nuclei alongside it.

dalfox

Go XSS scanner with deeper parameter mining and headless checks. Similar focus; choose by payload handling and report format.

nuclei

Template scanner across many vulnerability classes. Broader coverage, not XSS-specialized like xspear.

faq

xspear questions

Yes. Supply a blind XSS vector with -b and it injects a callback payload so injections that fire later in an unseen context still report back.

Run xspear yourself

A URL feeds XSpear, which analyzes its parameters and fires payloads to confirm cross-site scripting, writing the verified findings as a queryable output.

Facts on this page come from the live Trickest tool library.