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

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

缺陷编号:wooyun-2015-0145094

漏洞标题:众禄基金Android客户端存在越权查看账户交易信息和银行卡绑定信息漏洞

相关厂商:众禄基金

漏洞作者: 大头鬼

提交时间:2015-10-07 10:27

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:非授权访问/认证绕过

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-07: 细节已通知厂商并且等待厂商处理中
2015-10-12: 厂商已经确认,细节仅向厂商公开
2015-10-15: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-12-06: 细节向核心白帽子及相关领域专家公开
2015-12-16: 细节向普通白帽子公开
2015-12-26: 细节向实习白帽子公开
2016-01-11: 细节向公众公开

简要描述:

客户端存在越权查看账户交易信息和银行卡绑定信息漏洞

详细说明:

在账户请求报文中,通过替换mctcustno的值(每个账户成功注册后,系统都会分配一个用户ID),即可查看mctcustno对应账户的交易信息、银行卡绑定信息等。
但客户端在发送请求报文中,请求数据做了MD5签名,但可通过篡改客户端或通过HOOK,在客户端程序对请求数据做MD5前,对mctcustno进行修改,此时服务端校验通过后,返回正确的响应数据。

漏洞证明:

客户端程序在发起请求时,会对请求数据做MD5签名,服务端验证签名。通过反编译客户端的Java源码分析可看出:

MD5.png


客户端在执行账户信息查询等操作时,都会在请求数据中写入mctcustno,服务端根据mctcustno返回对应账户数据。客户端获取mctcustno的值是通过调用com.zlfund.mobile.FundApplication类中的getMctCustNo()方法,如下图反编译代码所示:

屏幕快照 2015-10-06 下午9.33.09.png


因此可通过篡改getMctCustNo()方法,将返回值改成其他mctcustno值。我采用xposed去HOOKgetMctCustNo()方法,修改返回返回值。
账户查询操作时,将客户端请求中的mctcustno替换为1000900001,服务端返回对应数据:

交易记录枚举-1.png


1.png


账户查询操作时,将客户端请求中的mctcustno替换为1000900002,服务端返回对应数据:

交易记录枚举-2.png


2.png


银行卡绑定信息查询操作,将客户端请求中的mctcustno替换为1000900100,服务端返回对应数据:

银行卡枚举-1.png


银行卡绑定信息查询操作,将客户端请求中的mctcustno替换为1000907380,服务端返回对应数据:

银行卡枚举-2.png

修复方案:

对用户权限做严格控制。

版权声明:转载请注明来源 大头鬼@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2015-10-12 16:20

厂商回复:


CNVD确认所述情况,已经转由CNCERT向证券业信息化主管部门通报,由其后续协调网站管理单位处置.

最新状态:

暂无


漏洞评价:

评价