CVE-2023-50692 Recording

0x01 描述

JIZHICMS V2.5 has background Arbitrary File Downloads causing RCE

Github URL:Cherry-toto/jizhicms: 极致CMS(以下简称:JIZHICMS)是一款开源免费,无商业授权的建站系统。 (github.com)

等了蛮久,前几天也是申下来了

0x02 漏洞复现

  1. 构造一个PHP一句话,然后通过压缩包进行zip格式压缩

image-20250106180553799

  1. 将zip上传至VPS服务器上,利用VPS上的python启动一个http服务

image-20250106180543344

  1. 登录网站后台,找到 扩展管理 ——> 插件列表,在页面右边的操作中寻找一个没安装过的插件进行下载(同时通过Burp进行抓包)

image-20250106180532593

  1. 复制VPS上的压缩包文件URL,将 download_url 参数替换为你的VPS上的zip链接地址,放行这个数据包(但不关闭拦截,因为后面还有数个数据包的url需要替换)

image-20250106180517676

例如:

image-20250106180454593

  1. 然后重复数此这种操作,将原本指定来着 down.jizhicms.cn 的url全部替换

image-20250106180435814

可以看到VPS上返回了这个请求

  1. 然后访问漏洞网站,目录是 /app/admin/exts/ 加上第一步构造的PHP一句话木马的文件名

0x03 漏洞分析

在位于 app/admin/c/PluginsController.php 的文件中的 update 方法中,$remote_url 并未对url进行安全检验,导致可以远程下载任意zip文件,并在后面的代码中可以看到进行解压

根据719行的代码可以知道,下载解压后的文件存放在 app/admin/exts 下

image-20250106180410674

0x04 思考

以前总是觉得说进到后台就算是拿下一台主机了,不再深入,因此对后台的洞了解甚少

看了很多cms的后台洞,发现大家更倾向于寻找Rce的点,而不是后台Sql注入

主要还是为了拿shell做更多事情(旁站攻击或者打内网……)

其中插件这个模块出现洞的频率最高,不管是在Awdp中还是日常审计中都是重点关注的对象

大多数的原因都是因为允许本地上传插件或者原创下载(包括在这个CVE中,作者其实并不承认这算是漏洞,觉得这是他cms的一个特性)

所以快速探究有没有这个洞,最好最快的方法其实是黑盒看有没有这个功能点,而不是白盒一个个审计