漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0152507
漏洞标题:360手机助手设计缺陷可进行部分远程操作(有限制)
相关厂商:奇虎360
漏洞作者: 路人甲
提交时间:2015-11-09 11:37
修复时间:2015-12-17 14:48
公开时间:2015-12-17 14:48
漏洞类型:设计错误/逻辑缺陷
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-11-09: 细节已通知厂商并且等待厂商处理中
2015-11-09: 厂商已经确认,细节仅向厂商公开
2015-11-12: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航)
2016-01-03: 细节向核心白帽子及相关领域专家公开
2016-01-13: 细节向普通白帽子公开
2016-01-23: 细节向实习白帽子公开
2015-12-17: 细节向公众公开
简要描述:
360手机助手设计缺陷可进行部分远程操作(有限制),可以被远程操作访问任意URL,下载、安装、开启任意应用。
详细说明:
在手机上安装并开启360手机助手后,发现它监听了38517端口。而且此端口没有bind到本地,意味着任意能访问到它的主机都可以连接到这个端口。
进一步查看发现,360手机助手在本地通过NanoHttpd实现了一个server。其serve方法如下:
在里面我们看到了很多request,例如/in,/opeanApp,/openPage, 等等,显然360手机助手可以通过接收client发来的request来进行各种操作,如打开应用,访问URL等。这个方法虽然在一开始获取了一下http-client-ip,但是并没有据此进行任何判断。意味着来自任意地址的访问仍然可以被处理。
对于/openPage这个request,360手机助手首先会从parameter中取得url,然后会进行如下的判断:
看起来360手机助手对URL的来源进行了限制,仅允许访问几个自己的域名。但是不幸的是,这个限制实际上可以轻易被绕过,因为我们知道,在**.**.**.**中点击搜索到的网页都是要通过**.**.**.**跳转一层的,因此可以很容易构造一个从**.**.**.**到任意URL的跳转。例如通过该URL我们可以直接访问手机新浪网:
http://m.**.**.**.**/jump?u=http://**.**.**.**/&m=853640
在根据上面的域名后缀判断URL的合法性之后,360手机助手会直接在app内打开这个URL。
所以,我们只需要一条简单的命令就可以远程让360手机助手访问URL:
/in这个request可以被用来实现任意apk的下载和安装,它接收的paramater很多:
但是实际上我们只需要提供url和sign两个参数即可。sign是用来对url参数进行校验的,算法很简单:
校验完这个request参数的合法性之后,该方法会调用如下方法来执行应用的下载和安装:
在有root的机型上或者智能安装功能启动的机型上,应用的安装甚至不需要用户的确认。
/opeanApp可以被用来开启本地的任意一个应用,它只需要两个参数:apkId和sign,其中apkId就是应用的包名,而sign的算法和/in中一样:sign = MD5_hexstr(apkId + “mobilemgr_wififind”)。
经测试360手机助手一直到3.2.61版本均有上述问题。
漏洞证明:
修复方案:
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2015-11-09 13:31
厂商回复:
感谢提交,报告中提到的360产品老版本的安全问题是有安全防护措施的,如云端和服务端的安全检查,我们在发布的最新版本中也加强了安全防护措施。
报告中提到的web安全问题,此处本身有签名校验安全防护措施,我们会再加强安全措施。根据您的建议,我们还会再进一步加强安全防护措施。
最新状态:
暂无