前言
前文已经分析过了Joomla Unauthorized的漏洞成因,总的来说是由于函数array_merge()变量覆盖引起的,未授权的api接口很多。
Joomla Unauthorized RCE1
api路径
api/index.php/v1/config/application?public=true

登录mysql写入webshell,有条件限制
数据库的当前用户为ROOT或拥有FILE权限;(FILE权限指的是对服务器主机上文件的访问)
明确网站路径
general_log参数值为ON
general_log_file参数为webshell路径
- 通过函数outfile写入webshell(该传统方式不可行)
Joomla漏洞版本无注入点无法通过注入点和outfile函数写入webshell
Joomla Unauthorized RCE2
进入后台administrator的方法1
通过未授权api
api/index.php/v1/users?public=true


可读取用户信息,使用社工方式暴力破解登录后台,利用进行RCE
进入后台administrator的方法2
获取mysql权限后执行sql语句或者使用工具修改后端管理员密码或者其他用户密码,joomla有自己的加密算法,所以也没必要破解他们的加密方式,老版本搭建后使用用户的哈希值更换
Toggle Menu->Users-Manage

123456123456::$2y$10$GauLOsp1NBJLO0FGjlqhxOu8LZe9wconNuPwqgjX/pGxAqn7dL5ba

修改admin的密码为该密码

可登录后台
后台RCE的两种方式

Toggle Menu->System->Templates->Site Templates->cassiopeia

修改模板文件,添加恶意代码实现命令执行,获取webshell

测试webshell

项目地址
路径
Toggle Menu->System-> Extensions

下载地址
上传下载的恶意插件

上传成功后查看插件管理


成功执行命令
当前目录下创建一个1.txt
,文件内容如下


文件内容为

参考文章