一个网站三个洞:电信某处三种方法串号(随机或指定)可订购业务

漏洞详情

披露状态:

2014-03-17: 细节已通知厂商并且等待厂商处理中
2014-03-24: 厂商已经确认,细节仅向厂商公开
2014-04-03: 细节向核心白帽子及相关领域专家公开
2014-04-13: 细节向普通白帽子公开
2014-04-23: 细节向实习白帽子公开
2014-05-01: 细节向公众公开

简要描述:

详细说明简单地表达如何实现,工程师和审核若忙先看这块。
漏洞证明详细地说明找洞过程,给围观党和想详细了解的看。
漏洞修复给出了一些应急措施,给受害用户和电信一些建议。
请原谅小白这样的报洞格式。。

详细说明:

还是上一个漏洞(刷话费)的地址

http://3g.zj189.cn/ddp/index.jsp

这里进入直接跳转到自己账号,但如果是在wifi之类的情况下会转到

http://login.zj189.cn/sso/login.jsp?goto=http://3g.zj189.cn/ddp/jspui/lottery/reward.jsp

这个登陆系统。

第一个漏洞:在同时满足下面三种情况下,可以串随机账号。

PhotoGrid_1394869207962.jpg



1,通过wifi连接上网(这是我的测试环境,在3g情况下没有复现)。2,此时流量对对碰网站有奖励可以充值,即可以选定话费来充值。(当活动网站方面无话费充值时无法复现)。3,而且你登陆的本人账号要有可兑换充值的话费(无剩余话费奖励无法复现)。

表现:

PhotoGrid_1394868076690.jpg



1,可以利用自己账号登陆直接串号,并且切换验证码可以串不同的号码。

Screenshot_2014-03-15-14-38-20.png



2,可以订购包月流量包(测试不慎造成某用户定包,但无法证实是否有效,本人可以提供其号码,并深表抱歉,若造成扣费本人愿承担其损失)和一次性流量包(未实践)。3,这个漏洞造成有出现用户莫名串号(在符合其三条件下,此处为和其他用户聊天时得知并猜想)。4,验证码5分钟有效,即5分钟可以切换验证码串更多号码。

第二个漏洞:需要两个条件直接登陆身边好友账号进行坑害!

PhotoGrid_1394869723785.jpg

PhotoGrid_1394869897189.jpg



1,好友打开随身热点(好心)。2,并且使用ctnet接入点。表现:1,连上wifi,直接用自己账号和验证码登陆,即可串号定包。(成功用基友手机串了我自己,,)。2,有趣的是,改了接入点为ctwap用相同验证码就立马登陆自己(注1,此漏洞测试时已失去一号洞的第三条件。注2,似乎没有了5分钟验证码限制,条件允许的话恐怕可以快速串很多人)

第三个漏洞,验证码保存后变成明码(目测应该不是UC浏览器的问题。。待证实)

PhotoGrid_1394882889328.jpg



条件:通过肩窥(在身后偷看)或借手机等方式取得密码,然后登陆之。。表现:1,两部手机同时登陆没有障碍(实测)2,5分钟换验证码此时可能会造成无法有效阻止攻击(啊,你偷我密码,赶紧改密,什么要五分钟?!这里我没有想到解决方案。。)有趣的是,如果故意空密码登陆失败返回时可以看到三个星号,通过保存密码的方式发现是 验证码 这三个大字。。(该加密的解密了,不该加密的加密了)

漏洞说明完毕,部分重现可能有难度(乌云审核大大准备好两部电信机没?有两张卡吗?之前参加流量对对碰活动了吗?活动已结束第一洞第三条件现在无法满足。。估计没法全部亲测了,希望你们能通过我的洞,下面还有详细挖洞记录),本人在必要时可单独提供测试视频(现在还没录。。)望审核和工程师耐心实验。

注:流量银行也有漏洞一二的问题,可以订包。http://3g.zj189.cn/llyh/jspui/act/view.jsp

漏洞证明:

漏洞挖掘全纪实。

0前提;测试环境

本人手机号133******00(下文简称0号) 基友手机号133******21(下文简称1号)

本人手机安卓2.3(下文简称b机) 土豪基友4.3(下文简称a机)

背景1,基友要好好学习,手机给我保管,我于是征用它来测洞洞。0号的卡插a机,1号卡插b机。背景2,上个刷话费漏洞的话费还没有提,于是登陆网站http://login.zj189.cn/sso/login.jsp?goto=http://3g.zj189.cn/ddp/jspui/lottery/reward.jsp,此时b机在开移动热点,ctwap接入点。

1,运气。

PhotoGrid_1394868076690.jpg



登陆,纳尼话费肿么全清了?莫非电信收回我刷的费了?等等,主页出现了不明号码!赶紧通知活动的经理同学去(上次刷话费洞在报告前几星期和他说过,所以你们复现不了那个洞)。。通知完,回来一跳转页面,又回到自己号码了,莫非闹乌龙了?

2,漏洞两条件(差點写成漏洞二定理或漏洞二相性,,学物理走火入魔了。)

第二天继续登陆,没在意号码,结果定了个包才发现是别人的号(以为和昨天一样会跳转回来)顿时有种要被查水表的感觉(没记错的话是10块钱的包月包。。)我想,既然我无缘无故串号了,别人也有可能串来串去,于是放下心中杂念耐心实验。发现今天一直串的是同一个号码,然后突发奇想【换一个验证码会出现什么情况?】接着,见证漏洞的时刻。

PhotoGrid_1394868341023.jpg



PhotoGrid_1394868767937.jpg



大家观察一下,发现了什么?我试了很多次,成功只有几次。我【耐心】分析了每一张截图的【细节】。

PhotoGrid_1394869070284.jpg



当时发现第一二条件就是靠这几张图,同学们观察一下,你能看到多少信息?(这张合成照片2m大小,手机党同学对不住了。。)

PhotoGrid_1394869207962.jpg



结合之前的图,我们提取出上图信息,一,连wifi。二,看到充值短信没?这就是我通过【观察】找到的第一二条件。现在说的轻松,当初无数次怀疑它的存在性。要不是有网友告诉我有人很多人出现串号,我也许只是到此为止,发一两句话一两张图,甚至当时想暂停所有活动(高三党,你懂的。),没在意这个洞

3,消失的第一洞;第二洞横空出世。

最后关了wifi上去换完了话费(一天他们推出了1元兑换,于是我全部换了)然后接下来四天的测试里,我都失败告终。

但也不是全无收获,灵感大发的我想到了【如果修改接入点会怎样?】我从小喜欢尝试各种奇葩的事,结果它带给了我惊喜,我成功利用基友的手机a串进了手机b的0号里(自己黑自己。。)

PhotoGrid_1394869723785.jpg



当时订阅通知短信迟迟没来,我甚至怀疑所有的洞都只是显示错误,串号是其他情况引起的,我浪费了时间想去帮助受害用户,帮助电信完善。却只是一个可怜的菜鸟,被一个模糊的假象欺骗。。还好,隔了一天订单短信来了,用b机串a机更加顺利。

PhotoGrid_1394869897189.jpg



4,第三条件。

再次全部浏览截图,找不同。当时有网友说他发现他串了别人的号,不敢动。第二天就没串了。但我当时结合一二条件认为他当时应该可以实现,这时突然奇思妙想,【是不是还有第三条件?】仔细对比,如果电信没有封第一漏洞的话,那么第三条件就是剩余话费奖励!虽然没法证实了,但是我相信我离真相越来越近了,虽然遗憾本人技术原因无法有更技术性的方式来寻找,推断答案。但作为一个几乎电白的菜菜来说,这寻找的过程就是hack的乐趣,一点点扩大漏洞,一点点证实猜测。

5,视而不见的第三洞;寻找受害者。

PhotoGrid_1394882889328.jpg



大家也观察到了,,第三个漏洞密码一直明码着在我眼前。。我们往往视而不见,我想起了我的第一个漏洞,明明内部文件被公开共享却视而不见,明明私密共享机制有密码却没有人看见它原来有个密码机制(直接绕过,雷到了。。)【也许找漏洞不一定要技术,但一定要能看见看不见的东西。】(这句话有自我安慰木有技术成分。。)

PhotoGrid_1394870416818.jpg



我为了进一步确认漏洞情况,找了些电信群和用户了解情况,发现似乎情况比想象更糟糕,电信客服没有给客户退包,客户也不懂得改包来减少损失(下面会提到)。

并且我想知道我是否给那个我第二天串号的用户造成损失,搜了微信易信没有这个号码注册,打电话发现不是空号(在学校怕老师没收赶紧挂了。。)后来发了两条短信说明情况,没有回复。我想了想还是别继续联系了,省得被告骚扰,但希望电信能帮忙确认他的情况,是否第一次定包月造成了扣费?或者这个号码是电信员工的,所以定不了流量(听说电信好像是这样,待证实)。或者对方开了短信防火墙没收到?我一直很内疚。漏洞发布后我会继续联系该活动经理或私信电信其号码,希望能帮忙确认并退包。

6,漏洞启示录。

在这个漏洞之前,我一直认为没技术是抓不了牛X的洞的(目前觉得这些洞很奇葩)。也一直很少这样疯狂地做一件事情过。也没有想过有这么条件的漏洞(指第一洞,我肯定是土逼了)

但现在我知道了,抓漏洞不只是在寻找漏洞,我还在寻找自己心中的正义,想去帮助那些无辜的受害者,在寻找自己的思绪,想证实自己的猜测。我想我该感谢这个漏洞,让我有机会去寻找自己,我庆幸并不是一个自私自利的骇客,虽然技术也不够格。我要成为白帽子,我自豪,我骄傲。我是没有技术的菜鸟,但我有灵感,有耐力,我自豪我骄傲。

顺便申明,以后发现电信刷话费漏洞除了测试以外的话费,流量一律不刷,你们有我手机号,我原来是个穷学生,现在乌云让我认识到我有我的价值。我会做到的。感谢电信,感谢乌云。

很抱歉把一份漏洞报告写成这个样子,如果审核觉得不适合请把漏洞证明删了,我有备份我会在漏洞公开后发社区的。现在我加上图片处理已经花了超过5.5个小时来写这份漏洞报告。原谅我的疯狂。下面还有一些措施建议。

修复方案:

先来谈谈危害,1,漏洞一有三条件会增加重现难度,但并不会加减少太多出现频率,现在用wifi的人很多并且对对碰活动已结束很可能大量未兑换用户在等待兑换,直接满足了二三条件。2,第二三漏洞公开后可能会出现威胁,因为条件隐蔽可能通过欺骗性诱导(朋友,开个热点吧,ctnet的网络快一点)让他人遭到攻击。

处理

电信受害用户:1,改定5元包月流量包来减少损失(如果之前没订购包月被订购包月)。2,截屏通知短信,维权。

电信用户预防:

1,在对对碰登陆时不保存密码。

2,尽量在开移动热点时使用ctwap接入点。

3,不在网上公开手机号(有其他可能的串号漏洞)。

给电信:

1,我相信你们可以解决漏洞的,我也希望你们能给用户合理的处理措施减少损失。

2,希望开启你们宣传上的业务短信二次确认,可以解决很多麻烦。

3,貌似你们有增值业务错误扣费二倍赔偿,我随口说说而已。

4,先把流量对对碰这个月通过登陆系统登陆并订流量包的客户名单拉出来,在其客户投诉时可以让客服合理解释并做出一定的补偿(退包,话费返还之类)。并且修复其他潜在性的串号漏洞。

5,当时订购短信有延时的情况,是否因为有大量订单?订单可能有串号成分。

6,发生串号时部分兑换页面剩余话费奖励会显示零,用户无法有效兑换,可能会造成第二三条件的时间延长。(前一天只持续一小时,后来几乎发现网站一直可兑换,如果没其他情况可能就是这样了,用户没换好话费过一会再登陆会大大增加串号可能性)。

终于写完了,,,手机电都从99%到19%。回顾这个洞我自己都感叹自己的运气和一周来强大的精力。。最后我还是中国电信年轻的老用户,我一直在支持你们。(ps,以后没紧急情况我高考之前不报洞了。。)

版权声明:转载请注明来源 深夜大冒险@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-03-24 22:17

厂商回复:

CNVD未直接进行复现,已经作为业务逻辑风险转由CNCERT直接通报中国电信集团公司,由其后续下发给省公司处置。

最新状态:

暂无


漏洞评价: