漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0148477
漏洞标题:土豆视频安卓版拒绝服务/升级漏洞/任意app下载
相关厂商:土豆网
漏洞作者: tmplazy
提交时间:2015-10-22 10:21
修复时间:2016-01-20 14:10
公开时间:2016-01-20 14:10
漏洞类型:设计错误/逻辑缺陷
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-10-22: 细节已通知厂商并且等待厂商处理中
2015-10-22: 厂商已经确认,细节仅向厂商公开
2015-10-25: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航)
2015-12-16: 细节向核心白帽子及相关领域专家公开
2015-12-26: 细节向普通白帽子公开
2016-01-05: 细节向实习白帽子公开
2016-01-20: 细节向公众公开
简要描述:
土豆视频安卓版存在一处拒绝服务,2处升级漏洞,2处游戏任意下载漏洞
详细说明:
首先是最新版本。
activity组件暴露,
构造一个空intent,可以导致其崩溃。
接着看土豆视频的升级漏洞。
StartActivityService这个服务可以通过外部访问。
从上面的代码可以看出当传入的PushMsg的type为1时可以会进行更新,而且 updateurl ,updateversion,updatecontent都是可以控制的,所以写下代码
代码中的PushMsg不需要自己实现,将土豆视频反编译,再将自己的程序反编译,将土豆视频中的PushMsg.Smali替换自己程序的的PushMsg.Smali就可以了。
我将更新链接指向了豌豆荚的爱奇艺视频。。。
可以看到安装时显示的是爱奇艺的app。如果伪造的像一点的话危害还是非常大的。
但是仅仅将此处的服务exported改为false,依旧不能避免这种升级漏洞。
我又发现了一处问题,即使这里改exported为false仍然可以利用。
图中的EmptyActivity可以通过外部访问。
可以看到通过构造intent的action不为download,依旧可以启动StartActivityService。
成功利用后的结果跟之前的是一样的。
最后是app任意下载漏洞。
土豆视频里面有一个游戏中心。问题同样出自StartActivityService。
当PushMsg的type为6时,会启动GameCenterHomeActivity,而各种参数都是可以控制的。
从图中可以看出有1款游戏待安装。想下载什么应用可以通过PushMsg的url进行构造,我上面下载的是豌豆荚下的土豆视频,如果被拿过来恶意利用可以执行任何地方,就实现了任意app下载。伪造的像一点让用户点击安装就后果不堪设想了。
同样的出现这样问题的不止这里。上面这个是通过StartActivityService启动GameCenterHomeActivity。然而GameCenterHomeActivity是直接可以通过外部应用访问的。
也就是说直接构造恶意intent,启动GameCenterHomeActivity可以带到app下载的目的。
最后的话StartActivityService根据pushMsg的type不同还可以做很多事情。还能下载视频。。一堆问题。。。。
最后我写的验证程序
http://**.**.**.**/s/1qWnCR4C 提取码94ve
漏洞证明:
修复方案:
修改组件的exported属性,还有上面提到的EmptyActivity有Log.i("pushtest", "emptyactivity启动");这么一句语句,猜测这个activity是开发过程中留下的,如果是的话应该处理掉。
版权声明:转载请注明来源 tmplazy@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2015-10-22 14:09
厂商回复:
漏洞说明详细,已通知开发,多谢tmplazy
最新状态:
暂无