当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0119094

漏洞标题:某大型支付机构移动端产品设计不当可绕过密保问题重置任意用户密码

相关厂商:某大型支付机构

漏洞作者: 高小厨

提交时间:2015-06-09 11:48

修复时间:2015-07-27 18:30

公开时间:2015-07-27 18:30

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-09: 细节已通知厂商并且等待厂商处理中
2015-06-12: 厂商已经确认,细节仅向厂商公开
2015-06-22: 细节向核心白帽子及相关领域专家公开
2015-07-02: 细节向普通白帽子公开
2015-07-12: 细节向实习白帽子公开
2015-07-27: 细节向公众公开

简要描述:

发现以前报过重置密码的问题,后来改进了,不过某些地方还是缺乏服务端校验

详细说明:

1、测试对象:IOS端银联钱包

2.png


2、找回密码,然后输入你要攻击的账号,例如输入你老公/老婆的

2.png


3、输入正确的验证码,拦截返回的数据包

1.png


4、替换数据包放行

IMG_0811.PNG


5、点击“通过安全问题找回”,然后直接跳转到重置密码的页面

3.png


6、重置密码成功

4.png

漏洞证明:

重置密码页面的链接代码:

GLO.APP.PY.createWebPage("设置新密码","/page/find_password/reset.html" +  GLO.TOOL.PY.searchStr.getUrl());


漏洞证明(重置密码后可以成功登陆):

5.png


缺点是:只能对熟人下手,因为验证码绕不过去,但是手机丢了。。。

修复方案:

看代码是JavaScript读取服务器上的数据在本地进行校验,这个过程在服务器上校验才安全,同时获取数据的JavaScript代码很有可能泄露密保问题和银行卡信息的,例如:

GLO.TOOL.PY.cordovaInit(function(){
//自动初始化
GLO.TOOL.PY.autoInit();
//安全问题验证
$("input").FormValid({
callback : function(){
GLO.TOOL.PY.searchStr.setItem("answer1",$("input[name=answer1]").val());
GLO.APP.PY.createWebPage("设置新密码","/page/find_password/reset.html" + GLO.TOOL.PY.searchStr.getUrl());
}
});

// logEvent 输入安全问题答案
$('input[name="answer1"]').logInputEvent(function () {
return { name: 'refind_pwd_safe_qus' };
});
})

版权声明:转载请注明来源 高小厨@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2015-06-12 18:29

厂商回复:

CNVD确认所述情况,已经转由CNCERT向中国银联通报,由其后续协调网站管理部门处置.

最新状态:

暂无