前言
fastjson库是Java的一个json库,其作用是将Java对象转换成json数据来表示,也可以将json数据转换成Java对象
漏洞描述
FastJson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的set/get方法来访问属性。
通过查找代码中相关的方法,即可构造出一些恶意利用链。
环境准备
靶场:Vulhub
靶机:192.168.239.128
Kali :192.168.239.129
复现过程
-
访问
靶机:8090
界面如下,表示环境搭建搭建成功。
-
新建一个
shell.java
,作用是将shell反弹到Kali上,并编译成.class
文件。 -
监听
7777
端口。
-
在
.class
文件目录下起一个Python的HTTP服务,并确保可以正常访问。 -
借助marshalsec项目,启动一个
RMI
服务器,监听9999
端口,并制定加载远程类shell.class
。 -
此时,攻击环境已准备就绪,上
Payload
。 -
成功反弹shell并执行命令。But为什么不能执行
ifconfig
,求解。
===============================================================================================
- 又看了一眼
Fastjson 1.2.47 远程命令执行漏洞
就是Payload不一样,其余没变。