joomla 远程代码执行 (CVE-2021-23132)
*一、漏洞概述 **
*1.1 漏洞简介*
·漏洞名称:joomla 远程代码执行
·漏洞编号:CVE-2021-23132
·漏洞类型:远程代码执行漏洞
·漏洞威胁等级:高危
·影响范围:Joomla 3.2.0 ---- 3.9.24.
·利用条件:默认条件
*1.2 组件描述*
Joomla是美国Open Source Matters团队的一套使用PHP和MySQL开发的开源、跨平台的内容管理系统(CMS)。
*1.3 漏洞描述*
在Joomla 3.2.0到3.9.24版本中,Joomla的com_media组件配置允许被任意修改导致Web级别目录遍历,攻击者通过一系列操作,进一步会导致远程命令执行。
*二、漏洞复现*
*2.1 应用协议*
http
*2.2 环境搭建*
1.下载源码到本地:https://github.com/joomla/joomla-cms
2.按照提示信息配置网站信息
*2.3 漏洞复现 **
1.使用超级管理员administrator权限在用户界面注册一个普通管理员用户:
/joomla/administrator/index.php?option=com_users&view=user&layout=edit
2.该管理员不具备超级管理员的功能(super users是具备添加super
user的选项,而普通管理员没有此选项)
下面为超级管理员功能
下面为普通管理员选项
3.以普通管理员身份登录系统,切换到“media”
4.点击“option”,修改Path to Files Folder路径为当前路径“./”
可以看到这里可以操作整个web目录下的文件夹及文件,实现了目录遍历。
5.在/administrator/components/com_users下,删除config.xml文件
6.重新上传config.xml文件,内容在备注附件
7.此时普通用户就可以新建一个超级管理员的用户,做到了越权
*三、防范建议*
*3.1 官方修复建议*
已修复(版本大于3.9)
修复内容为:除了超级管理员外,其余权限的管理员在修改Path to Files Folder的时候只能向后降级如image/xxx
*3.2 临时修复建议*
写入过滤规则,黑名单等
*3.3 研判建议 **
查看服务器日志,观察config文件是否存在异常,如删除和重新上传
四、*参考链接*
源码下载url:https://github.com/joomla/joomla-cms