Fastjson概念
fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。
漏洞的原理
首先,Fastjson提供了autotype功能,允许用户在反序列化数据中通过“@type”指定反序列化的类型,其次,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法,那么当组件开启了autotype功能并且反序列化不可信数据时,攻击者可以构造数据,使目标应用的代码执行流程进入特定类的特定setter或者getter方法中,若指定类的指定方法中有可被恶意利用的逻辑(也就是通常所指的“Gadget”),则会造成一些严重的安全问题。并且在Fastjson 1.2.47及以下版本中,利用其缓存机制可实现对未开启autotype功能的绕过。
漏洞影响:
Fastjson1.2.47以及之前的版本
搭建靶场
vulhub中有fastjson反序列化漏洞的靶场,怎样搭建velhub请参考
centos7搭建和使用vulhub全过程--图文_centos7搭建vulstudy-CSDN博客
我这边在centos7上边搭建,各位看自己习惯
开启靶场
进入到fastjson反序列化漏洞目录


使用命令开启靶场:docker-compose up -d
如图靶场开启成功

使用命令docker-compose ps查看靶场端口

访问ip+端口

靶场搭建成功
搭建攻击环境
要是在kali中搭建攻击环境的话,需要先卸载自带的Java环境
# 查看安装的OpenJDK包
dpkg --list | grep -i jdk

# 卸载OpenJDK相关包
apt-get purge openjdk-*

再次运行dpkg --list | grep

本文介绍了Fastjson的autotype功能引发的安全漏洞,详细描述了漏洞原理、Fastjson1.2.47版本的弱点,并指导如何搭建Fastjson反序列化漏洞靶场,以及如何利用该漏洞进行攻击,包括使用burpsuite抓包和构造payload。
&spm=1001.2101.3001.5002&articleId=133752405&d=1&t=3&u=26c2b608ca3e460388b5728d0f03e35a)
857

被折叠的 条评论
为什么被折叠?



