Gxlcms后台任意文件读取漏洞<CVE-2018-16437>

发布于 2018,08,20  814 次阅读


0x00 cms简介

Gxlcms新闻系统是一个以php+mysql进行开发的新闻类cms内容管理系统。

Gxlcms新闻系统的优势:前台与后台采用隔离方式,模板化设计,让只要你会前端就可以做一个新闻网站!后台设计简单明了,小白用户一看就会明白!程序功能也非常完善!

1.目前程序支持三种路由模式:静态生成,伪静态,动态;

2.支持两种存储模式:本地存储,FTP存储

3.接入百度主动推送功能!让你每篇新闻/资讯都可以及时被百度发现

4.图片水印功能:只要开启图片水印,不管是标图图片或者是内容图片统统添加水印,水印功能支持9宫格设计,让你可以随意把图片水印加到任意地方

5.数据库一键备份/还原,让你可以轻松的把网站迁移到任何服务器上

6.缓存功能:模板缓存,数据库缓存,网站页面缓存

7.友情链接:支持图片链接和文字链接

8.广告模块:只要后台添加广告后,全部js生成到前台,让你不用费事修改模板

9.采集功能,我们支持火车头采集,火车头接口已经在插件中心里面,只需要你下载后,就可以采集上万新闻内容,为了防止重名新闻,我们对接口做了细腻化的功能,支持入库重名判断,当有重名新闻自动过滤

10.扩展功能:扩展性,可以在插件中心下载,招聘模块,图集模块,会员中心模块,交友模块等等模块进行安装(开发中)

源码下载地址:http://down.chinaz.com/soft/38532.htm

Demo地址:http://news.gxlcms.com/

官网更新补丁链接:http://bbs.gxlcms.com/forum.php?mod=viewthread&tid=787&extra=page%3D1

0x01 漏洞分析




漏洞代码位于news/Lib/Admin/Action/TplAction.class.php51

图片1.png

这里可以看到filename参数由GET类型获取,这里id分别经过了str_replaceadmin_gxl_url_repalce函数,替换很简单,这里主要是用于将后缀名前的*替换为.,跟进

admin_gxl_url_repalce这个函数

图片2.png







这里默认为asc,因此也就是375行做的处理,这里将|替换为/,所以这里没有任何检测跨目录的函数,我们也就可以直接使用..|然后替换为../来进行目录穿越


图片3.png


这里虽然写了不允许用..形式的路径,但是代码里并没有对..的检测,因此可直接忽视

那么我们这里访问网站根目录上一层的文件

图片4.png



这里可以看到..并没有被限制,也就导致了目录穿越的可能,因此这里存在任意文件读取漏洞。

0x02 修复建议

..进行检查,如果出现..则抛出异常!




我的全部野心,就是自由的生活