极致CMS建站系统代码审计之旅

 

0x001 前言

标题为什么是代码审计之旅呢?相信很多人都有疑问,由于疫情原因居家办公了,暂时回不去,也为政府的防疫速度点赞,大路小路迅速封堵安排人员值守,我们为此还建了个群,半夜各个路口都有人员轮流值守,估计连个鸟都飞不出去,只能老老实实呆在家里了,然后在家做了这个极致cms代码审计过程,拿出来和大家分享一下我的分析过程。

一款免费开源的PHP建站CMS系统,可以免授权商业使用该系统,支持后台在线模板,可以下载和更新模板,提供更多免费模板,支持后台多语言本地化配置,更新一套精美模板免费使用,桌面配置更具人性化设定,支持更多图标选择及菜单名称自定义,更具通俗化目录结构,让你一目了然字段重构,前台发布表单字段设定,列表字段控制,多种类型字段让你自由发挥创作!后台增加模板自定义方式,让你二开更方便!后台插件模板接口开放设定,可以自由维护自己的客户进行客制化服务!免费开源,代码无任何加密,可免费商用,前台界面可以去除版权显示,支持MIT协议,真正开源免费!

 

0x002 安装环境

  1. jizhicms的开发语言是PHP,支持PHP5.6+,发布之日起就已经兼容到PHP7.4版本,推荐使用PHP7.0版本以上。
  2. 安装环境建议Linux服务器,当然Windows也是可以安装的,云服务器建议安装宝塔面板查看
  3. 无论是Windows还是Linux建议安装Apache、mysql、phpMyAdmin配件
  4. 本系统当前版本2.0仅支持mysql数据库

 

0x003 安装须知

  1. PHP5.6+
  2. MySQL4.8+,数据编码 utf-8 或者 utf8-general-ci
  3. 部署环境必须支持伪静态
  4. 支持Apache、Linux

 

0x004 开始安装

本地环境搭建:

官网下载:https://www.jizhicms.cn/forum.php?mod=viewthread&tid=578

这个cms目录架构大致如下:

安装完以后,前台效果

此时登录后台程序:

地址如下:http://jizhi.com/admin.php/Login/index.html

登陆后效果

收集了一些cnvd的信息,JIZHICMS跨站脚本漏洞,JIZHICMS跨站脚本漏洞,jizhicms1.4版本存在文件上传漏洞,jizhicms存在文件上传漏洞 ,JIZHICMS跨站请求伪造漏洞这几个漏洞,前台一顿操作也没找出漏洞来,那我就去看下后台,根据功能点来,一点点尝试。

想着在系统设置中的高级设置,可以选择上传的后缀名,不过这里是前台的上传文件限制,后台虽然有上传点但是一直绕过不了,比较麻烦,突然想到他还有个插件功能,他有插件可不可以通过插件做一些文章。

浏览了一下插件发现有在线编辑模板,然后感觉看到了希望。

然后点击下载以后点击安装

点击开启以后点击配置密码

配置完密码,再次输入配置的密码登录,点击立即提交就会出来一个新的窗口,可以编辑文件。

添加恶意代码:

@eval($_POST[‘cmd’]);

保存成功后保存完以后

使用蚁剑链接木马,获得服务器权限:

项目所有文件信息:

查看数据配置信息:

至此,通过系统后台编辑文件插件,通过更改文件代码,实现写入木马程序执行,拿到了服务器全部权限、源码,以及数据库信息,造成了很严重的后果。

 

0x005 总结

该漏洞主要是通过cms 后台扩展管理插件列表,下载在线编辑模板,允许用户修改代码,而这对操作修改代码没有过滤就造成了巨大的风险,拿到了服务器全部权限、源码,以及数据库信息。

(完)