微擎漏洞 任意账号无需密码登录后台

 

            微擎是目前国内开源的一款微信营销管理系统,主要针对于公众号的开发功能,投票,
 
商城于一体,以及各种插件开发,开发架构是基于php+mysql数据库的整体架构,拥有多年成
 
熟、可靠的微信公众号平台管理经验,技术过硬,在代码上是国内第一个开源,并允许第三
 
方插件开发的,其扩展功能以及整体开发框架,文档,服务器运维,微擎有着强大的用户

理与涨粉营销策略,等各个方面都达到业界领先水平,赢得许多微信营销公司的喜欢与厚
爱。
 
2017年9月份,微擎系统出现漏洞,可以说是利用该漏洞可以以任意用户名登录到后台,并可
 
以直接提权getshell,如果被黑客加以利用篡改支付api接口,那么投票刷礼物的支付,就会
 
支付到黑客手里,导致投票活动运营者产生较大的经济损失,关于该微擎漏洞详情,我们来
 
看一下:Sine安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修

复,渗透测试,安全服务于一体的网络安全服务提供商。
 
漏洞文件存在于: \web\common\文件下的bootstrap.sys.inc.php
 

 
从上图代码里看出,以上是经过base64加密,并解码来传输值,json_decode解码功能,解码
 
出来的值传入session当中去,解码出来的内容是携带类型的。代码如下图:
 
            $session['hash'] == md5($user['password'] . $user[‘salt']))

 
上图使用的是两个等号 "==" ,不是全等于。全等是类型必须是一致的,普通的两个等号会
 
转换微相同的类型来进行仔细的对比。打个比方,我的hash是int数字型,密码是string字符
 
型,string类型会转换成int数字型进行对比。比较出来的字符串,前面是数字型的,后面是
 
字符串字母的,后面的字母就会被删掉,如果对比出来的值全部是纯字母那么就返回0。
 
知道了微擎的系统对比方面的详情,利用这个微擎漏洞,就可以后台登录任意用户。Sine

安全公司是一家专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透测试,

安全服务于一体的网络安全服务提供商。
 
 
微擎漏洞修复:
 
目前最新版的微擎系统还没有修复此漏洞,针对于这个漏洞,需要在
 
web/common/bootstrap.sys.inc.php文件里进行替换,把两个等号换成三个等号.如下图所示
 
 
 
分享: