漏洞概要
关注数(24)
关注此漏洞
漏洞标题:Iwebshop 最新版支付漏洞(1分钱任意买)
提交时间:2015-02-16 13:21
修复时间:2015-04-30 18:48
公开时间:2015-04-30 18:48
漏洞类型:设计缺陷/逻辑错误
危害等级:中
自评Rank:10
漏洞状态:未联系到厂商或者厂商积极忽略
Tags标签:
无
漏洞详情
披露状态:
2015-02-16: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-04-30: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
Iwebshop 最新版支付漏洞(1分钱任意买)
详细说明:
看到iwebshop在2015.01.26又更新了(v3.0.15011000),看了看更新说明,说已经修改了wooyun上的漏洞,就下下来研究一下。
问题点:POST /index.php?controller=ucenter&action=payment_balance 用户在支付自己的订单时(预存款 支付),抓包修改价格,但是有一个数据校验,下面看看是如何突破检验的。
文件在/controllers/ucenter.php的payment_balance()方法中
用来做数据校验的$sign由客户端发到服务器,因此,这里我们可以修改,校验字段的生成方法如下
当$sign= md5($urlStr)时,即可绕过校验,由上面的代码可知,只要知道$pkey、$user_id以及自己的输入(通过抓包可获得),就可以得到 md5($urlStr)了。
$pkey一直是空,$user_id在post的包中可以获得(具体见下图)
下图为初始用户信息
下图为支付完成后的图,只用了1分钱就完成了支付
漏洞证明:
修复方案:
版权声明:转载请注明来源 路人甲@乌云
漏洞回应