漏洞概要
关注数(24)
关注此漏洞
漏洞标题:WeiPHP微信开发框架SQL注入漏洞
提交时间:2014-11-07 12:33
修复时间:2015-02-05 12:34
公开时间:2015-02-05 12:34
漏洞类型:设计错误/逻辑缺陷
危害等级:高
自评Rank:20
漏洞状态:未联系到厂商或者厂商积极忽略
Tags标签:
无
漏洞详情
披露状态:
2014-11-07: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-02-05: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
程序简介:
weiphp是一个开源,高效,简洁的微信开发平台,它是基于oneThink这个简单而强大的内容管理框架实现的。旨在帮助开发者快速实现微信公众账号的个性化功能。开源产品WeiPHP下载量10万多,被众多开发者安装使用。
危害简介:
无任何限制,通杀sql注入。
详细说明:
一个漏洞个人认为需要两个必要因数:
1.数据,你所能控制的数据(直接控制、间接控制)。
2.方法,使用到数据的方法(此处的数据是你能控制的数据)。
下面我们找我们能控制的数据:
\Application\Home\Controller\WeixinController.class.php
\Application\Home\Model\WeixinModel.class.php
有了可控制的数据,然后我们寻找数据进入过的方法(数据在流动的过程中,会赋值,会被处理而改变,过程繁复复杂,动态调试是一个让我们不至于被程序绕晕的好方法),最后我动态调试,找到了一个利用点:
通过第一段代码,我们知道我们的数据有被赋值给this->token:
\Application\Home\Controller\WeixinController.class.php
最后经过层层数据库的处理最后query
\ThinkPHP\Library\Think\Model.class.php
此时的
通过上面分析,我们可以看出我们有两个参数可控,一个是token,一个是keyword,对应的数据传入的变量ToUserName和Content
------------------------------------------------------
通过上面的分析,其实我们挖一般sql注入有个非常好的方法是:
记录所有的mysql_error()-->写个工具fuzz数据输入点-->查看错误日志反向寻找注入
漏洞证明:
构造poc:
修复方案:
版权声明:转载请注明来源 L.N.@乌云
漏洞回应