骑士CMS是国内公司开发的一套开源人才网站系统,使用PHP语言开发以及mysql数据库的架构,2019年1月份被某安全组织检测出漏洞,目前最新版本4.2存在高危网站漏洞,通杀SQL注入漏洞,利用该网站漏洞可以获取网站的管理员账号密码以及用户账号信息.
目前很多人才网站都使用的骑士CMS系统,受影响的网站较多,关于该网站漏洞的详情我们来详细的分析一下。骑士cms4.2最新版本使用了thinkphp的架构,底层的核心基础代码都是基于thinkphp的开发代码,有些低于4.2版本的网站系统都会受到漏洞的攻击。我们来本地服务器进行搭建骑士CMS系统的环境,首先去骑士官方下载最新版本74cms_Home_Setup_v4.2.111.zip,然后安装php版本为5.4,mysql数据库安装版本为5.6,我们把网站放到D盘的默认wwwroot里,解压ZIP包到目录当中去.
然后我们进行安装,调试,使其本地127.0.0.1可以打开网站进行漏洞的测试,该漏洞的利用条件是要网站拥有一些招聘的数据,有了数据才可以进行sql注入攻击,我们在自己安装的网站里新增加了许多招聘的岗位,如下图:
我们随便注册一个商户的账号,登陆商户用户中心,然后再发布一条信息到网站的前台。我们打开测试的网站地址,看到有一条招聘信息了,我们打开来
/index.php?m=&c=jobs&a=jobs_list&lat=21.183858&range=80&lng=225.15098* 点击之后就会有提示,我们就可以进行注入了。如下图所示:
网站漏洞详情文件是Application目录里的Common文件夹下的Conf文件config.php代码,发现这个配置文件调用的就是job_list的类标签,这个类会把一些参数值直接赋值到$this->params里,根据这个接口我们可以插入非法的SQL注入代码,大部分的thinkphp都是可以进行注册的,包括目前最新的thinkphp5.0漏洞,都是可以远程代码执行的。
关于骑士CMS网站漏洞的修复办法,目前官方还没有公布最新的补丁,建议大家在服务器前端部署SQL注入防护,对GET、POST、COOKIES、的提交方式进行拦截,也可以对网站的后台目录进行更改,后台的文件夹名改的复杂一些,懂程序代码设计的话,建议将数值转换改为浮点型,防止二次SQL注入。网站漏洞的修补与木马后门的清除,需要很多专业的知识,也不仅仅是知识,还需要大量的经验积累,所以从做网站到维护网站,维护服务器,尽可能找专业的网站安全公司来解决问题,国内也就Sinesafe和绿盟、启明星辰等安全公司比较专业.