文章目录
- [1. 靶场简介](#1. 靶场简介)
- [2. 环境启动](#2. 环境启动)
- [3. 手动构造](#3. 手动构造)
- [4. 使用 BurpSuite 插件 FastjsonScan](#4. 使用 BurpSuite 插件 FastjsonScan)
-
- [4.1 靶场1.2.24-rce](#4.1 靶场1.2.24-rce)
- [4.2 靶场1.2.47-rce](#4.2 靶场1.2.47-rce)
⚠️本博文所涉安全渗透测试技术、方法及案例,仅用于网络安全技术研究与合规性交流,旨在提升读者的安全防护意识与技术能力。任何个人或组织在使用相关内容前,必须获得目标网络 / 系统所有者的明确且书面授权,严禁用于未经授权的网络探测、漏洞利用、数据获取等非法行为。
1. 靶场简介
靶场地址:https://github.com/vulhub/vulhub
如下图,vulhub 提供了 2 个 fastjson 组件相关的靶场,分别是 1.2.24 和 1.2.47 版本的。

2. 环境启动
shell
cd 1.2.24-rce
# 启动
docker compose up -d
# 停止
docker compose stop
# 重启
docker compose start
# 清除
docker compose down
启动如下图:

3. 手动构造
这里不做演示,官方提供了中文说明,在README.zh-cn.md 文件已经详细说明操作步骤,如下图:

访问前面部署的靶机,端口是 8090

4. 使用 BurpSuite 插件 FastjsonScan
插件下载地址:https://github.com/Maskhe/FastjsonScan/releases/tag/1.0
注意该插件会检查content-type为xml、json、url-encoded的post请求,其他请求会返回not supported。
4.1 靶场1.2.24-rce
修改靶机的请求以适配插件检查。如下图:

发送该请求到插件后,插件自动扫描

扫描靶场请求成功发现漏洞,这个插件的核心是利用插件内置的 Burp Collaborator(DNSLog)完成无回显漏洞检测

当然,也可以利用 BurpSuite 的 Collaborator 功能自己本地快速验证。
新版本 BurpSuite 专业版的 Collaborator 在 View 工具栏下面

打开后确认会在标签页显示,如下图:

点击Copy to clipboard 复制 dnslog 地址,自己构造请求:

过一会接受到 dnslog ,说明存在注入,如下图:

4.2 靶场1.2.47-rce

同样修改请求为 POST 并且数据为 JSON 格式,

发送给插件扫描,成功发现漏洞。

同样的方式进行人工验证:

同样验证成功,如下图:
