前言

前文已经分析过了Joomla Unauthorized的漏洞成因,总的来说是由于函数array_merge()变量覆盖引起的,未授权的api接口很多。

Joomla Unauthorized RCE1

api路径

api/index.php/v1/config/application?public=true

登录mysql写入webshell,有条件限制

  • 通过log写入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,文件内容如下

文件内容为

参考文章

W3_1Day 将标题更改为 「Joomla Unauthorized"后"渗透到RCE」。
    1 年 后
    说点什么吧...