Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Payload-and-Polyglot-Lists — GromHacks Labs -- 那些他们不想让你拥有的 payload 列表。母舰降下 1,324 个注入探测,检测 20 种常见漏洞类别的可注入点。我们不利用漏洞,只是敲门看看谁会在里面回应。每个 payload 都经过真实解析器测试,因为外星人要求证据。不要信任任何输入。质疑一切! | Kitploit
工具/GitHubGitHub/gromhacks/payload-and-polyglot-lists
OSINT (开源情报)Payload生成漏洞分析Web应用程序漏洞利用模糊测试渗透测试学习与教育
GitHubgromhacks/payload-and-polyglot-lists

Payload-and-Polyglot-Lists

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GromHacks Labs -- 那些他们不想让你拥有的 payload 列表。母舰降下 1,324 个注入探测,检测 20 种常见漏洞类别的可注入点。我们不利用漏洞,只是敲门看看谁会在里面回应。每个 payload 都经过真实解析器测试,因为外星人要求证据。不要信任任何输入。质疑一切!

查看仓库
36925个月前Kitploit 审核通过

Payload 与 Polyglot 列表

发现一个不起作用的 payload? 请 open an issue 附上 payload、目标上下文以及你期望的结果。欢迎提交修复或新 payload 的 Pull Request。

研究正在进行中。 该项目正在积极开发中,并将定期更新新的 payload、漏洞类别和验证改进。

免责声明: 这些 payload 仅供授权安全测试、教育和研究目的使用。作者对任何滥用或下游影响不承担任何责任。完全由使用者自行承担风险。使用本项目即表示您对自己的行为承担全部责任。

许可证: MIT - 参见 LICENSE

1,353 个经过验证的注入 payload,覆盖 20 个漏洞类别、31 个反序列化框架和 14 个模板引擎。每个 payload 都能产生可检测的信号。零理论 payload。

验证:1,353 测试 / 1,353 触发 / 0 失败 / 0 跳过,针对 35 个 Docker 测试环境栈。严格验证证明了实际利用(服务器端计算、真实解析器错误、测量的时间延迟、来自目标容器的 OOB 回调)——而非字符串匹配。


概念

传统 Payload 列表的问题

大多数公开可用的 payload 列表按漏洞类型组织:一个用于 SQL 注入的列表,另一个用于 XSS,又一个用于命令注入,等等。测试人员选择他们认为与目标匹配的列表,将其加载到入侵工具中,并对一个参数运行。如果他们猜错了漏洞类别,整个扫描就不会产生任何结果。如果后端是一个不常见的数据库、非标准的模板引擎或列表没有考虑到的语言,这些 payload 就会静默失败。测试人员就会认为该参数是安全的,然后继续前进。

这种方法有两个根本性问题。首先,它要求测试人员在发现漏洞之前就知道存在什么漏洞。其次,大多数流传的 payload 都是理论性的——在项目和博客文章之间复制,从未经过真实解析器的测试。它们看起来正确。它们甚至可能在语法上有效。但它们实际上不会触发来自目标的可检测响应。

Polyglot 优先,信号保证

本项目采用不同的方法。主要工作单元是 polyglot——一个单一的 payload 字符串,被设计成同时在尽可能多的注入上下文中有效(或有意义的无效)。一个 polyglot 可以同时跳出单引号、双引号、括号、块注释、HTML 属性、模板分隔符和反引号上下文。测试人员无需知道漏洞是什么,只需对每个参数发射 polyglot 并观察信号。

此集合中的每个 payload 都围绕 检测支柱 构建——这些是可观察到的响应,确认漏洞存在,无需访问服务器日志、源代码或文件系统:

  • 错误:payload 导致后端抛出异常、解析器错误或响应中可见的堆栈跟踪。
  • 数学:payload 包含算术表达式如 7*191,计算结果为 1337。如果该数字出现在响应中,而 payload 只发送了 7*191(而非字面上的 1337),则说明后端计算了该表达式——代码执行的证据。
  • 时间:payload 强制延迟(5 秒以上)。如果响应缓慢,则后端执行了睡眠或 CPU 密集型操作。
  • OOB(带外):payload 强制后端向测试人员控制的回调服务器发起出站 HTTP、DNS、LDAP 或 TCP 连接。即使响应完全不透明,也能确认执行。

如果一个 payload 在针对其目标上下文测试时没有产生至少一个这样的信号,它就不属于这个列表。这里的 1,353 个 payload 中的每一个都已在专门构建的 Docker 测试床上进行了验证,并带有严格的利用证明。零个是理论性的。

内置函数优于 Shell 命令

传统的 OOB 和时间 payload 依赖 shell 命令:curl、nslookup、ping、sleep。这些命令经常失败。它们依赖于目标操作系统、可用的 PATH、哪个 shell 解释该命令,以及进程是否有权限生成子进程。一个在 Ubuntu 上工作的基于 curl 的 OOB payload 会在 Alpine 上失败(没有 curl),在 Windows 上失败(没有 curl),在受限容器内部也会失败(无法执行出站进程)。

本项目尽可能用语言原生的内置函数代替 shell 命令。Python payload 使用 urllib.request.urlopen() 和 time.sleep()。Java payload 使用 java.net.URL.openStream() 和 Thread.sleep()。Ruby 使用 Net::HTTP.get() 和 Kernel.sleep。PHP 使用 file_get_contents() 和 sleep()。这些函数存在于其各自语言的每个标准安装中——无需 PATH 查找,无需子进程,无操作系统依赖。

即使在标准库导入可能被阻止的情况下(沙箱 eval、受限 exec),payload 也退回到无需导入的替代方案:用于时间的 CPU 自旋循环(Python 中的 sum(range(500000000)),Node 中的 Atomics.wait())和用于 OOB 的原始套接字连接(__import__('socket').create_connection()、fsockopen()、TCPSocket.new())。

Polyglot 无法触及的地方

并非所有东西都能成为 polyglot。模板引擎使用根本不相容的语法——Jinja2 中的 {{}} 对 ERB 的 <%= %> 毫无意义,两者都不会被解析为 Freemarker 的 ${})。反序列化格式是特定于一个框架的二进制或结构化数据。对于这些类别,本项目使用按引擎划分的 payload,组织在相同的检测支柱系统下,涵盖 7 种语言的 14 个模板引擎和 31 个反序列化框架。

结果是形成了一个单一的语料库,其中 polyglot 处理它们能够处理的上下文(SQLi、OS 命令注入、XSS、代码注入),而专门构建的按引擎 payload 处理其余部分,全部经过验证,全部产生可检测的信号,全部准备好用于逐行注入工具。


最小列表(82 个 Payload)

83 个 payload 覆盖所有 35 个测试环境栈、所有 55+ 个端点,以及每个类别的所有 4 个检测支柱。验证:83 触发 / 0 未触发 / 0 跳过。

每个注入类别在架构允许的情况下都得到错误 + 数学 + 时间 + OOB 覆盖。支持代码执行的反序列化框架(Pickle、PyYAML、jsonpickle、node-serialize、XMLDecoder、.NET Json.NET)获得完整的多支柱覆盖。限于探测的框架(PHP unserialize、Ruby Marshal、SnakeYAML 等)获得基于错误的检测。在切换到完整类别列表进行深入测试之前,对每个参数发射这个最小列表。

83 次请求,而非 1,353 次。 在 Burp Intruder 中使用 ready/minimal/payloads-only.txt。


为目标选择正确的 Payload

完整操作指南请参见 HOWTOUSE.md。它将“我正在查看一个参数,应该用什么来测试它?”变成一个可重复的工作流程:

  1. 参数和上下文分析 - 5 个问题(值形状、堆栈指纹、响应可见性、OOB 可用性、WAF),在发射任何 payload 之前就削减类别。
  2. 逐类别“何时怀疑” - 针对所有 20 个类别的详尽、生产导向的提示。每个类别列出真实的 SaaS 功能类型(低代码平台、BI/报告、监控、工作流自动化、SSO、SSRF 抓取器、eval 接收器、邮件模板构建器等)、视觉和行为线索(7*7 返回 49 作为 eval 的泄露信号,{{name}} 渲染为 "Alice" 确认 SSTI,诊断字段泄露 ping 输出,OOB 日志中的 User-Agent 字符串命名抓取器库)、现代栈 ORM 陷阱(Prisma $queryRaw、Rails .order()、Hibernate JPQL concat、Mongoose findOne(req.body)),以及在消耗完整列表之前用于确认怀疑的低成本探测。
  3. 危险序列化字节指纹 - Python、PHP、Java、.NET、Node、Ruby 和 Perl 中 31 个框架的原始魔数和 base64 前缀(rO0AB = Java,AAEAAAD///// = .NET BinaryFormatter,BAg = Ruby Marshal,gASV = Python pickle P4,Tzo/YTo = PHP unserialize 等),附带 16 条快速参考备忘卡和消歧启发式方法。在发射之前对 blob 进行指纹识别,以便加载 5-15 个匹配的 payload,而不是全部 232 个。
  4. 目标提示到类别矩阵 - 从“我看到 和 ”到“尝试 + Java 反序列化 + EL 注入,监控 math 支柱”一步到位。

快速开始```bash

1. Prepare payloads with your callback domain

Replaces {domain} placeholder in all OOB payloads with your server

./tools/payloadctl prepare YOUR_CALLBACK.oastify.com

2. Load into Burp Intruder, ffuf, or any line-by-line injection tool

All output goes to ready/ (gitignored, contains your domain)

root@kitploit:~
运行 `prepare` 后,您可直接使用的文件位于 `ready/full/` 和 `ready/minimal/`,结构对比如下:

| 文件 | 说明 | 数量 |
|------|------|------|
| `ready/minimal/payloads-only.txt` | **精简版——83 个请求,覆盖所有类别** | 83 |
| `ready/full/payloads-only.txt` | 完整列表,每行一个载荷 | 1,353 |
| `ready/full/by-category/sqli.txt` | 仅 SQL 注入 | 211 |
| `ready/full/by-category/ssti.txt` | 仅模板注入 | 206 |
| `ready/full/by-category/deserialization.txt` | 仅反序列化 | 232 |
| `ready/full/by-category/os-cmd-injection.txt` | 仅操作系统命令注入 | 120 |
| `ready/full/by-category/code-injection.txt` | 仅代码注入 | 123 |
| `ready/full/by-category/ssrf.txt` | 仅 SSRF | 156 |
| `ready/full/by-category/path-traversal.txt` | 仅路径遍历 | 113 |
| `ready/full/by-category/xss.txt` | 仅 XSS | 58 |
| `ready/full/by-category/nosql.txt` | 仅 NoSQL 注入 | 32 |
| `ready/full/by-category/format-string.txt` | 仅格式化字符串 | 38 |
| `ready/full/by-category/el-injection.txt` | 仅表达式语言 | 34 |
| `ready/full/by-category/header-crlf.txt` | 仅 CRLF/头部注入 | 17 |
| `ready/full/by-category/prototype-pollution.txt` | 仅原型污染 | 12 |
| `ready/full/by-category/xxe.txt` | 仅 XXE | 11 |
| `ready/full/by-category/ldap-injection.txt` | 仅 LDAP 注入 | 35 |
| `ready/full/by-category/xslt-injection.txt` | 仅 XSLT 注入 | 30 |
| `ready/full/by-category/elasticsearch-injection.txt` | 仅 Elasticsearch | 30 |
| `ready/full/by-category/cypher-injection.txt` | 仅 Neo4j/Cypher | 27 |
| `ready/full/by-category/couchdb-injection.txt` | 仅 CouchDB | 5 |
| `ready/full/by-category/polyglots.txt` | 跨上下文多语言载荷 | 246 |
| `ready/full/by-pillar/error-payloads-only.txt` | 基于错误的载荷 | 324 |
| `ready/full/by-pillar/timing-payloads-only.txt` | 基于时间的(盲注) | 227 |
| `ready/full/by-pillar/oob-payloads-only.txt` | 带外交互回调 | 209 |
| `ready/full/by-pillar/math-payloads-only.txt` | 数学金丝雀(1337) | 182 |
| `ready/full/by-pillar/reflected-payloads-only.txt` | 反射/边界情况 | 374 |
| `ready/full/encoded/url-encoded/payloads.txt` | URL 编码变体 | 1,353 |
| `ready/full/encoded/base64/payloads.txt` | Base64 变体 | 1,353 |
| `ready/full/encoded/json-safe/payloads.txt` | JSON 安全变体 | 1,353 |
| `ready/full/encoded/double-url-encoded/payloads.txt` | 双重 URL 编码 | 1,353 |
| `ready/full/encoded/html-entity/payloads.txt` | HTML 实体编码 | 1,353 |
| `ready/full/encoded/hex-escaped/payloads.txt` | 十六进制转义变体 | 1,353 |
| `ready/full/encoded/unicode-escaped/payloads.txt` | Unicode 转义变体 | 1,353 |

`ready/minimal/` 目录镜像相同结构(按类别、按检测柱、编码),包含精简载荷集。

自定义输出目录:```bash
./tools/payloadctl prepare YOUR_CALLBACK.oastify.com -o /path/to/engagement/payloads

原始模板带有 {domain} 占位符(用于脚本替换)位于 payloads/lists/full/ 和 payloads/lists/minimal/。


检测支柱

每个 payload 至少产生一个以下信号。在您的响应中搜索它们:

金丝雀值:1337(主要,来自 7*191)和 7331(次要)。检测方法为简单的 grep。


Payload 覆盖范围

按漏洞类别

20 个类别中有 13 个拥有全部 4 个支柱。缺少的 7 个(XSS、XSLT、格式化字符串、原型污染、CRLF、XXE、CouchDB)有架构上的原因——你无法实现基于时间的 CRLF 或带外的格式化字符串。在可以跨支柱的情况下,多语言部分会覆盖。

编码变体

7 种编码格式,每种都包含全部 1,353 个 payload:


设计原则

最少 payload,最大上下文覆盖。 查看 SPEC.md 获取完整技术规格,包括每个引擎的支柱表和精确的 payload 语法。

  1. 优先使用多语言 payload。 一个 payload 同时跳出 '、"、)、*/、-->、反引号和模板分隔符。多语言部分主导主列表。

  2. 在多语言不可及的地方按引擎处理。 不同引擎的 SSTI 分隔符和反序列化格式从根本上不兼容。

  3. 优先使用内置而非 shell。 OOB 和时间延迟 payload 使用语言原生库:


CLI 工具 (payloadctl)```bash

USAGE: prepare payloads for an engagement

./tools/payloadctl prepare abc123.oastify.com # output -> ready/ ./tools/payloadctl prepare abc123.oastify.com -o /tmp/payloads # custom dir

DEVELOPMENT: build, distribute, validate, generate

./tools/payloadctl build # sources/ -> payloads/full.txt ./tools/payloadctl dist # full.txt + minimum.txt -> payloads/lists/full/ + lists/minimal/ ./tools/payloadctl validate # test all 1,353 payloads against 35 testbed stacks ./tools/payloadctl validate # test a specific wordlist (e.g. lists/minimal/master.txt) ./tools/payloadctl generate # regenerate computed payloads (deser, ssti, sqli, misc) ./tools/payloadctl generate deser # deserialization only ./tools/payloadctl generate ssti # SSTI only

root@kitploit:~
### 典型开发工作流程```bash
# 1. Edit source files
vim payloads/sources/sqli.txt

# 2. Rebuild
./tools/payloadctl build       # rebuild full.txt from sources
./tools/payloadctl dist        # regenerate lists/full/ + lists/minimal/

# 3. Validate (requires Docker testbeds running)
cd testbed && ./testbed up sqli-sqlite && cd ..
./tools/payloadctl validate    # expect: N FIRE / 0 NO-FIRE / 0 SKIPPED

# 4. Prepare for use
./tools/payloadctl prepare YOUR_CALLBACK.oastify.com

仓库结构```

. ├── README.md # This file ├── HOWTOUSE.md # Operator guide: context profiling + category selection matrix ├── SPEC.md # Technical spec - per-engine pillars, payload syntax, coverage │ ├── tools/ # CLI and generators │ ├── payloadctl # CLI entry point │ ├── cmd_build.py # Build full.txt from source files │ ├── cmd_dist.py # Generate lists/ directory │ ├── cmd_validate.py # Validate payloads against testbeds │ ├── cmd_validate_strict.py # Strict validation (proves actual exploitation) │ ├── cmd_generate.py # Run payload generators │ ├── cmd_prepare.py # Prepare payloads with callback domain │ ├── generate-deser-final.py # Deserialization generator (31 frameworks) │ ├── generate-ssti-missing.py # SSTI generator (14 engines) │ ├── generate-sqli-code-missing.py # SQLi and code injection generator │ └── generate-misc-missing.py # XXE, XSS, SSRF, path traversal generator │ ├── payloads/ │ ├── full.txt # Master list (1,353 payloads, with ## headers) │ ├── sources/ # Source files (edit these, all validated) │ │ ├── minimum.txt # 83-payload minimal list (validated, all pillars) │ │ ├── polyglots-condensed.txt # Cross-context polyglots (first in master) │ │ ├── sqli.txt # SQL injection (204) │ │ ├── ssti.txt # Template injection (168) │ │ ├── deserialization.txt # Deserialization (116, 31 frameworks) │ │ ├── os-cmd-injection.txt # OS command injection (116) │ │ ├── code-injection.txt # Code injection (112, includes Groovy) │ │ ├── ssrf.txt # SSRF (117) │ │ ├── path-traversal.txt # Path traversal (98) │ │ ├── xss.txt # XSS (49) │ │ ├── format-string.txt # Format string (33) │ │ ├── nosql.txt # NoSQL (26) │ │ ├── el-injection.txt # Expression language (26, includes MVEL) │ │ ├── header-crlf.txt # CRLF/header (14) │ │ ├── prototype-pollution.txt # Prototype pollution (10) │ │ ├── xxe.txt # XXE (8) │ │ ├── ldap-injection.txt # LDAP injection (30) │ │ ├── xslt-injection.txt # XSLT injection (25) │ │ ├── elasticsearch-injection.txt # Elasticsearch (25) │ │ ├── cypher-injection.txt # Neo4j/Cypher (22) │ │ └── couchdb-injection.txt # CouchDB (4) │ └── lists/ # Generated (don't edit, use payloadctl dist) │ ├── full/ # Full payload set │ │ ├── master.txt # 1,353 payloads with ## headers │ │ ├── payloads-only.txt # Raw lines for Burp Intruder │ │ ├── by-category/ # 20 category files │ │ ├── by-pillar/ # 5 pillar files (with -payloads-only variants) │ │ └── encoded/ # 7 encoding variants │ └── minimal/ # Minimal payload set (same structure) │ ├── master.txt # 83 payloads with ## headers │ ├── payloads-only.txt # Raw lines for Burp Intruder │ ├── by-category/ # 20 category files │ ├── by-pillar/ # 5 pillar files (with -payloads-only variants) │ └── encoded/ # 7 encoding variants │ ├── ready/ # Output from payloadctl prepare (gitignored) │ └── testbed/ # Docker validation infrastructure ├── testbed # CLI: ./testbed up ├── docker-compose.oob.yml # OOB callback catcher (HTTP 9999, TCP 9998, DNS 5353) ├── shared/oob-catcher/ # HTTP + LDAP/binary + raw TCP + DNS callback server └── stacks/ # 35 vulnerable application stacks

root@kitploit:~
---

## 添加 Payloads

### 向现有类别添加 payload

1. 编辑 `payloads/sources/` 中的源文件。在 `##Header##` 部分下,每行一个 payload。
2. 每个 payload 必须产生可检测的信号(错误、math 1337、时间 >4.5 秒、OOB、反射)。
3. 重新构建并验证:

make build-validate

bash ./tools/payloadctl build && ./tools/payloadctl dist ./tools/payloadctl validate # 0 NO-FIRE required

root@kitploit:~
### 新增漏洞类别

1. 创建 `payloads/sources/<category>.txt`,使用 `##` 标题为每个支柱(error、math、timing、OOB)划分段落。
2. 将该文件添加到 `tools/cmd_build.py` 的 `SOURCE_FILES` 和 `tools/cmd_dist.py` 的 `CATEGORY_SOURCES` 中。
3. 在 `testbed/stacks/<category>/` 中创建测试环境栈(Dockerfile + 服务器,暴露 `POST /<endpoint>` 接口,接收 `input=<payload>` 并返回 `{"output": "...", "error": "...", "time_ms": N}`)。
4. 在 `tools/cmd_validate.py` 中添加端点路由(`ENDPOINTS` 字典和 `_get_endpoints()` 函数)。
5. 验证:`./tools/payloadctl validate`

### 新增反序列化框架

1. 编辑 `tools/generate-deser-final.py` —— 添加一个输出 payload 的函数(error、math、timing、OOB)。
2. 运行 `./tools/payloadctl generate deser && ./tools/payloadctl build`
3. 按需添加测试环境端点和路由。

### 新增 SSTI 引擎

1. 编辑 `payloads/sources/ssti.txt` —— 添加 `##EngineName (Language) - Pillar##` 小节。使用语言内置函数实现 timing/OOB。
2. 在对应的 `ssti-<language>` 栈中添加测试环境端点。
3. 在 `tools/cmd_validate.py` 的 `ENGINE_MAP` 中添加路由。

### Payload 格式规则

- 每行一个 payload(多行 YAML 使用字面量 `\n`)
- `{domain}` 占位符用于 OOB 回调 URL
- 所有 math payload 使用 `1337` 金丝雀值
- `##Header##` 小节按类别和支柱分组
- 无重复(构建步骤自动去重)

---

## 验证

验证器将每个 payload 对真实易受攻击应用进行测试:```bash
# Start testbeds (Docker required)
cd testbed
./testbed up sqli-sqlite
./testbed up ssti-python
./testbed up deserialization-java
# ... (35 stacks total)

# Run validation
cd ..
./tools/payloadctl validate
# Output: 1,353 FIRE / 0 NO-FIRE / 0 SKIPPED / 1,353 TOTAL

如何工作:

  1. 读取载荷文件,将每个 ## 部分路由到匹配的测试套件端点
  2. 向端点发送 input=<payload> 的 POST 请求,检查响应中的信号
  3. 如果任意端点返回以下内容,则载荷触发:真实的解析器/解释器错误、服务器计算的 1337(来自 7*191)、>4.5秒延迟、目标容器的带外回调、文件读取内容(root:x:0:0),或在有效上下文中反射的输入(XSS、CRLF)

严格验证(tools/cmd_validate_strict.py)额外检查:

  • 数学载荷证明服务器端计算(载荷发送 7*191,而非字面 1337)
  • 带外回调源自测试套件容器 IP
  • 错误消息包含真实的解析器/解释器特征,而非通用 HTTP 错误
  • 时间延迟在预期范围内(约 5 秒)

测试套件栈(共 35 个)

带外接收器位于端口 9999(HTTP + LDAP/二进制检测)和 9998(原始 TCP 全捕获),DNS 在 5353/UDP 上。检测 HTTP 回调、LDAP/ASN.1 二进制连接(JNDI)、DNS 查询和原始 TCP 连接。每个端点接受带 input=<payload> 的 POST /<sink>,并返回 {"output": "...", "error": "...|null", "time_ms": N}。


致谢

载荷由 Grom Hacks 研究和开发。基于安全研究社区的工作构建,包括 PayloadsAllTheThings、HackTricks、PortSwigger Web Security Academy 以及个人研究者。所有载荷均已在真实脆弱的应用程序上验证。

下载工具
Payload 数量类别检测支柱
4SQLierror, math, timing, OOB (跨方言 polyglot)
4SSTIerror, math, timing, OOB (跨引擎 polyglot)
3OS Cmdmath, timing, OOB (跨 shell polyglot)
3代码注入math, timing, OOB (跨语言)
2XSSmath, OOB
2XXE文件读取, OOB
2SSRFerror, OOB
1路径遍历文件读取
2NoSQLmath, error
1EL 注入math
1原型污染math
1CRLF/Headermath
1格式字符串error
1SSImath
2LDAP 注入error, math
3XSLT 注入error, math, OOB
2Elasticsearcherror, math
2Cypher/Neo4jerror, timing
1CouchDBerror
3Groovymath, timing, OOB
41反序列化支持时多支柱,否则仅 error
id=42
JSESSIONID
by-category/sqli.txt
  • 支柱选择规则 - 在发射之前选择你实际上可以观察到的信号(OOB > math > timing > error > reflected),这样你就永远不会对无法读取的渠道进行盲测。
  • 支柱Payload 数量检测内容适用场景
    错误324响应中的异常文本、堆栈跟踪、解析器错误应用反射错误
    时间延迟227响应时间超过 4.5 秒盲测 - 无输出、无错误
    带外209向您的回调服务器发起出站 HTTP/DNS/LDAP/TCP 连接盲测 + 异步 - 时间延迟不可靠
    数学计算182响应正文中的 1337 字面值(服务器计算 7*191)输出被反射但无错误
    反射374输入值在响应中回显模糊测试解析器异常
    文件读取(子集)响应中的 root: 或 [extensions] 内容路径遍历、XXE 文件读取
    类别数量支柱覆盖范围
    SQL注入211error, math, timing, oobMySQL, PostgreSQL, Oracle, MSSQL, SQLite, CockroachDB。UNION、error、timing、OOB。上下文跳出:'、"、)、))、*/、numeric。
    服务端模板注入206error, math, timing, oobJinja2, Mako, Tornado, EJS, Nunjucks, Pug, Twig, Smarty, ERB, Slim, Haml, Thymeleaf, Pebble, Freemarker, Velocity, Razor, Go template, Mustache, Liquid。均使用语言内置功能。
    反序列化232error, math, timing, oob31 个框架 / 7 种语言。所有语言原生 payload 均使用内置功能(无 shell 命令)。Python(pickle P0/P2/P4 通过 time.sleep/builtins.eval/urllib,YAML 通过 time.sleep/builtins.eval,jsonpickle),PHP(unserialize),Node(node-serialize 通过 JS busy-wait/http.get,js-yaml,funcster,cryo),Ruby(YAML,Marshal,Oj),Java(Jackson,Fastjson,XStream,SnakeYAML,XMLDecoder,Hessian,JNDI/Log4Shell,ObjectInputStream,ysoserial URLDNS),.NET(Json.NET,BinaryFormatter,SoapFormatter,XmlSerializer,JavaScriptSerializer,LosFormatter,ViewState,ObjectStateFormatter),Perl(Storable,YAML)。
    操作系统命令注入120error, math, timing, oobBash, CMD, PowerShell。跳出:;、|、||、&&、$()、反引号。IFS 绕过、glob 绕过、十六进制编码。
    代码注入123error, math, timing, oobPython, Node, PHP, Ruby, Perl, Lua, Java ScriptEngine, Groovy。无导入的 CPU 旋转,套接字级 OOB。
    SSRF156error, math, timing, oobCloud metadata(AWS/GCP/Azure)、IP 绕过、协议方案、DNS 重绑定、内部服务探测。
    路径遍历113error, math, timing, oobLinux + Windows,编码绕过,空字节,PHP 包装器,UNC,NTFS ADS,8.3 短文件名。
    XSS58error, math, oob跨上下文多语言 payload(20+ 上下文)、事件处理器、过滤器绕过、DOM 破坏、突变 XSS、SVG、OOB。
    格式化字符串38error, mathC/C++(%s%n%x)、Python({0.__class__})、.NET({0:X})。
    NoSQL32error, math, timing, oobMongoDB 操作符注入、$where 时间延迟、OOB、Redis 命令。
    EL 注入34error, math, timing, oobSpEL、OGNL、MVEL、Unified EL。通过 java.net.URL 实现的 OOB。
    CRLF/头部注入17error, math, oob响应拆分、头部注入、通过 Host 头实现的 OOB。
    原型污染12error, math__proto__、constructor.prototype、JSON 和查询字符串变体。
    XXE11error, timing, oob, file-read外部实体、XInclude、参数实体、Billion Laughs DoS。
    LDAP 注入35error, math, timing, oob过滤器注入、认证绕过、通配符时间延迟、referral OOB。
    Elasticsearch30error, math, timing, oobPainless 脚本注入、查询 DSL、query_string 语法。
    Cypher/Neo4j27error, math, timing, oobCypher 查询注入、APOC sleep、LOAD CSV OOB。
    CouchDB5error, mathMango 查询注入、操作符注入、认证绕过。
    XSLT 注入30error, math, oob, file-readXPath 数学运算、document() SSRF、文件读取、system-property() 信息泄露。
    多语言/边界情况246error, math, timing, oob跨上下文多语言 payload + 缓冲区溢出、整数边界、类型混淆、空字节。
    编码格式使用场景
    URL 编码标准查询/表单参数
    双重 URL 编码WAF 绕过、双重解码漏洞
    Base64API 主体、JWT、序列化参数
    JSON 安全JSON 请求体(转义引号)
    HTML 实体HTML 属性注入
    十六进制转义二进制协议、底层注入
    Unicode 转义Unicode 归一化绕过
    语言OOB 内置函数时间延迟内置函数
    Pythonurllib.request.urlopen()time.sleep(5)
    Javajava.net.URL.openStream()Thread.sleep(5000)
    Noderequire('http').get()Date.now() busy-wait 循环
    PHPfile_get_contents(), fsockopen()sleep(5)
    RubyNet::HTTP.get(), TCPSocket.new()sleep(5)
    PerlIO::Socket::INETselect(undef,undef,undef,5)
    .NETSystem.Net.WebClientThread.Sleep(5000)

    Shell 命令(curl、nslookup)依赖于操作系统和 PATH。内置命令在任何地方都有效。

  • 尽可能无导入。 即使导入被阻止,CPU 旋转计时也能工作:

    • Python: sum(range(500000000))(约 7 秒,无导入)
    • Node: Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,5000)(精确 5 秒)
    • Ruby: 99999999.times{1+1}
  • 作为回退的套接字级 OOB。 当 HTTP 库被阻止时:__import__('socket').create_connection()、fsockopen()、TCPSocket.new()、new java.net.Socket()。

  • 栈端口语言端点
    sqli-sqlite8001Python/sqli, /sqli-numeric
    sqli-postgres8030Python/sqli
    ssti-python8003Python/jinja2, /mako, /tornado
    ssti-node8011Node/ejs, /nunjucks, /pug
    ssti-php8020PHP/twig, /smarty
    ssti-ruby8025Ruby/erb, /slim, /haml
    ssti-java8040Java/freemarker, /velocity, /pebble, /thymeleaf
    os-cmd-injection8002Python/system, /popen
    code-injection-python8004Python/eval
    code-injection-node8012Node/eval
    code-injection-php8021PHP/eval
    code-injection-ruby8026Ruby/eval, /yaml, /marshal, /oj
    code-injection-perl8031Perl/eval, /storable, /yaml
    xss8010Node/reflected
    xxe8008Python/parse, /xinclude
    ssrf8007Python/fetch
    path-traversal8006Python/read
    nosql-redis8015Node/eval
    el-injection-java8041Java/spel, /ognl
    prototype-pollution8013Node/merge
    deserialization-python8005Python/pickle, /yaml, /jsonpickle
    deserialization-node8014Node/unserialize, /yaml, /funcster
    deserialization-php8022PHP/unserialize, /unserialize-b64, /phar
    deserialization-java8042Java/deserialize, /yaml, /jackson, /fastjson, /xstream, /xmldecoder, /hessian
    deserialization-dotnet8045.NET/jsonnet, /binaryformatter, /xmlserializer, /losformatter, /javascriptserializer
    log4j-jndi8046Java/log
    sqli-mysql8050Python/sqli, /sqli-numeric
    nosql-mongo8051Node/find, /where, /aggregate
    ssi-esi8035Python/ssi
    ldap-injection8055Python + OpenLDAP/search, /auth
    xslt-injection8056Python/transform, /xpath
    elasticsearch8057Python + ES 7.17/search, /script
    cypher-injection8058Python + Neo4j 5/query, /search
    couchdb-injection8059Python + CouchDB 3/find
    groovy-injection8060Groovy/JDK 21/eval