Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
xssearch — 基于 Rust 的 XSS 扫描器,具备上下文感知的 payload 选择、WAF 检测与绕过、爬取、盲 XSS 回调以及静态 DOM 汇聚点分析功能。 | Kitploit
工具/GitHubGitHub/affolter-engineering/xssearch
侦察静态分析漏洞扫描器Web漏洞扫描器Payload生成Web应用程序漏洞利用信息收集WAF绕过Web安全渗透测试红队网络爬虫
21371天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubaffolter-engineering/xssearch

xssearch

基于 Rust 的 XSS 扫描器,具备上下文感知的 payload 选择、WAF 检测与绕过、爬取、盲 XSS 回调以及静态 DOM 汇聚点分析功能。

查看仓库

xssearch

用 Rust 编写的高级 XSS 检测工具,将上下文感知的 payload 智能与注入广度相结合。

该工具的灵感来自 XSStrike 和 XSSER。payload 收集自不同来源:

  • https://github.com/ardakocadoru/xss-cheatsheet
  • https://github.com/Proviesec/xss-payload-list
  • https://cheatsheetseries.owasp.org/cheatsheets/XSS_Filter_Evasion_Cheat_Sheet.html
  • https://github.com/swisskyrepo/PayloadsAllTheThings

感谢各位,你们太棒了 ❤️

警告:仅可用于你拥有或已获得明确书面授权进行测试的系统。

功能特性

  • 上下文感知扫描 - 先探测每个参数,检测值反射的位置(HTML 正文、属性、JavaScript、注释、<title>、<textarea> 等),并针对该上下文选择最合适的 payload,而不是盲目地全部发送
  • 100+ 内置 payload - HTML 标签、属性突破、JS 注入、多语言混合 payload、DOM 汇聚点、WAF 绕过变体
  • WAF 检测与绕过 - 指纹识别 Cloudflare、ModSecurity、Sucuri、Imperva、Akamai、AWS WAF、F5 BIG-IP、Barracuda、Wordfence;应用针对每种 WAF 的绕过变换(大小写变异、注释插入、零宽字符和编码)
  • 爬虫 - 爬取链接和表单,自动发现可注入参数
  • Header 与 Cookie 注入 - 测试 Referer、User-Agent、X-Forwarded-For、X-Real-IP 及其他 header,以及 cookie 值
  • 盲注 XSS - 将带外回调 payload(兼容 Burp Collaborator、interactsh)注入每个汇聚点,用于延迟执行场景(管理面板、日志查看器等)
  • DOM XSS 分析 - 静态检查 innerHTML、eval、document.write、location.href、jQuery .html() 及其他危险汇聚点,并进行源检测
  • Payload 编码 - URL、双重 URL、HTML 实体、Unicode 和 base64/eval 编码,支持可组合的标志
  • JSON 输出 - 结构化发现结果,便于与其他工具集成
  • Markdown 报告 - 人类可读的报告,包含严重性汇总表、逐条发现详情部分和快速参考表;可直接粘贴到 wiki 或附加到工单
  • 纯 Rust/rustls - 无 OpenSSL 依赖;单一静态化二进制文件

安装

从源码安装(Nix)

git clone https://github.com/fabian-affolter/xssearch
cd xssearch
nix-shell --run "cargo build --release"
# binary: target/release/xssearch

带 LTO 和剥离符号的 release 构建:

nix-shell --argstr release true --run "$BUILD"

从源码安装(标准方式)

需要 Rust 1.75+。

cargo build --release

Nixpkgs

Nix 或 NixOS 用户可使用现成的包。请注意,最新版本可能仅存在于 unstable 频道中。

nix-env -iA nixos.xssearch

用法

xssearch [OPTIONS] <--url <URL> | --file <URLS_FILE>>

选项

标志描述
-u, --url <URL>目标 URL。使用 FUZZ 标记自定义注入点
-f, --file <FILE>每行一个 URL 的文件
-d, --data <DATA>POST 正文。使用 FUZZ 标记注入点
-H, --header <H>额外请求 header,可重复
--cookie <COOKIE>Cookie 字符串
--proxy <URL>HTTP/HTTPS 代理
--timeout <N>请求超时时间(秒,默认:10)
--user-agent <UA>自定义 User-Agent
--follow-redirects跟随 HTTP 重定向
--threads <N>并发请求数(默认:2)
--delay <MS>请求之间的延迟(毫秒)
--crawl爬取目标以获取链接和表单
--crawl-depth <N>爬取深度(默认:3)
--headers-inject测试常见 HTTP header 作为注入点
--cookie-inject测试 cookie 值作为注入点
--blind <URL>盲注 XSS 回调 URL
--dom静态 DOM XSS 汇聚点分析
--fuzz无论反射上下文如何,发送所有 payload
--payload-set <SET>all | html | js | attr | poly | dom | mxss | waf(默认:all)
--payloads-file <FILE>自定义 payload 文件,每行一个
--encode <LIST>逗号分隔的编码:url,html,unicode,double,base64
--prefix <STR>为每个 payload 添加前缀字符串
--suffix <STR>为每个 payload 添加后缀字符串
--waf-detect扫描前对 WAF 进行指纹识别
--waf-bypass对 payload 应用 WAF 绕过变换
--output-json <FILE>将发现结果写入 JSON 文件
--output-md <FILE>将发现结果写入 Markdown 文件
-v, --verbose详细输出(显示上下文、所有探测)
-V, --version打印版本并退出

示例

基本 GET 参数扫描

xssearch -u "https://example.com/search?q=test"

POST 表单

xssearch -u "https://example.com/login" -d "user=admin&pass=FUZZ"

从根路径爬取、检测 WAF、测试 header

xssearch -u "https://example.com/" --crawl --waf-detect --headers-inject -v

使用 URL + HTML 编码进行 WAF 绕过

xssearch -u "https://example.com/?q=FUZZ" --waf-detect --waf-bypass --encode url,html

使用 interactsh 回调进行盲注 XSS

xssearch -u "https://example.com/contact" -d "msg=FUZZ" \
  --blind "https://abc123.oast.fun/xssearch"

仅进行 DOM XSS 静态分析

xssearch -u "https://example.com/app" --dom --no-banner

将结果保存为 JSON

xssearch -u "https://example.com/?q=test" --output-json results.json

将结果保存为 Markdown

xssearch -u "https://example.com/?q=test" --output-md report.md

同时保存两种格式

xssearch -f targets.txt --crawl --waf-detect --output-json results.json --output-md report.md

通过 Burp Suite 代理

xssearch -u "https://example.com/?q=test" --proxy http://127.0.0.1:8080 -v

测试

本地最小目标

验证该工具最快的方法是在本地启动一个故意存在漏洞的 Python 服务器:

python3 - <<'EOF'
import http.server, urllib.parse

class H(http.server.BaseHTTPRequestHandler):
    def log_message(self, *a): pass
    def do_GET(self):
        p = urllib.parse.urlparse(self.path)
        q = urllib.parse.parse_qs(p.query)
        val = q.get('q', [''])[0]
        body = f'<html><body><p>Search: {val}</p></body></html>'.encode()
        self.send_response(200)
        self.send_header('Content-Type', 'text/html')
        self.end_headers()
        self.wfile.write(body)

http.server.HTTPServer(('127.0.0.1', 9999), H).serve_forever()
EOF

然后扫描它:

xssearch -u "http://127.0.0.1:9999/?q=test" -v

预期输出:[Vuln] XSS in 'q',并带有一个 HTML 上下文 payload。

本地 Docker 目标

这些镜像专为安全工具测试而构建,不包含任何真实用户数据。

DVWA(Damn Vulnerable Web Application)

docker run -d -p 8080:80 vulnerables/web-dvwa
# Set security level to Low in the UI first
xssearch -u "http://localhost:8080/vulnerabilities/xss_r/?name=test" \
  --cookie "PHPSESSID=<your-session>; security=low"

OWASP WebGoat

docker run -d -p 8081:8080 webgoat/goat-and-wolf
xssearch -u "http://localhost:8081/WebGoat/" --crawl --crawl-depth 2 -v

OWASP Juice Shop

docker run -d -p 3000:3000 bkimminich/juice-shop
xssearch -u "http://localhost:3000/" --crawl --dom -v

bWAPP

docker run -d -p 8082:80 raesene/bwapp
# Activate bWAPP at http://localhost:8082/install.php first
xssearch -u "http://localhost:8082/xss_get.php?firstname=test&lastname=test" \
  --cookie "PHPSESSID=<your-session>; security_level=0"

公开的故意存在漏洞的目标

这些站点专为安全工具测试而提供。无需身份验证或设置。

目标URLXSS 入口点
Acunetix 测试站点http://testphp.vulnweb.com/search.php?test=、艺术家评论、搜索表单
IBM Altoro Mutualhttp://demo.testfire.net/搜索参数、反馈表单
HP WebInspect 演示http://zero.webappsecurity.com/登录表单、搜索、账户字段
Google Gruyerehttps://google-gruyere.appspot.com/代码片段、个人资料字段(需要实例 URL)

Acunetix 测试站点

搜索参数(反射型 XSS):

xssearch -u "http://testphp.vulnweb.com/search.php?test=query" \
  --waf-detect -v

带 header 注入的完整爬取:

xssearch -u "http://testphp.vulnweb.com/" \
  --crawl --crawl-depth 3 \
  --headers-inject \
  --dom \
  --output-json testphp-findings.json

IBM Altoro Mutual

搜索表单:

xssearch -u "http://demo.testfire.net/search.aspx?txtSearch=test" \
  --waf-detect --fuzz -v

HP WebInspect 演示

从根路径爬取:

xssearch -u "http://zero.webappsecurity.com/" \
  --crawl --crawl-depth 2 \
  --waf-detect \
  --output-json zero-findings.json

Google Gruyere

先启动一个个人实例,然后扫描它:

# The instance URL is displayed after clicking "Start" on the Gruyere homepage
xssearch -u "https://google-gruyere.appspot.com/<instance-id>/feed.gtl" \
  --dom --crawl -v

公开目标可能会间歇性变慢或离线。如果请求超时,请使用 --timeout 30。

输出

终端输出使用颜色编码的标签:

标签含义
[Target]正在扫描的 URL
[WAF]WAF 检测结果
[Crawl]爬虫状态
[Param]正在测试的参数
[CTX]检测到的反射上下文
[Vuln]已确认的发现
[DOM]检测到的 DOM 汇聚点
[Blind]已注入的盲注 payload

JSON

使用 --output-json 写入,每条发现一个对象:

{
  "url": "https://example.com/search?q=%22+onmouseover%3Dalert%281%29+%22",
  "param": "q",
  "payload": "\" onmouseover=alert(1) \"",
  "method": "GET",
  "context": "Attribute",
  "severity": "High",
  "description": "attr breakout dquote onmouseover"
}

Markdown

使用 --output-md 写入,报告包含三个部分:

汇总表 — 严重性计数一览:

严重性数量
🔴 高2
🟠 中0
🟡 低0
🔵 信息0
总计2

逐条发现部分 — 每条发现一个标题,包含详情表和放在围栏代码块中的 payload:

### 1. 🔴 [High] `q`
下载工具