时间:2019-09-14 14:58:24 作者:无名 浏览量:82
老是提交一些撞库漏洞都给小厂商而且感觉技术含量不高,这次打算找个应用好好研究研究,看到一个经常提供1000礼品卡给力的厂商-苏宁易购,果断下载安卓客户端走起。发现了一些问题综合起来最后达到的效果就是发送给好友一个苏宁的链接(m.suning.com),对方打开如果对方装有苏宁易购客户端就能够控制对方,包括克隆对方的账号,获得对方手机信息,发短信等等。。
环境 未root安卓4.2机器和4.2模拟器
0x01 私有短网址生成过程过滤不严
苏宁有自己的短网址生成方式,在用户分享商品时就会触发,会按照用户的id和商品网址生成短网址,过程中会检测网址中是否包含”suning.com“,包含就可以生成,否则拒绝。这种检测方式很容易绕过url结尾加上#suning.com就可以
测试地址:http://m.suning.com/dl/qJeA5UsD.html
请求数据包精简后如下:
苏宁豆芽怎样远程操作?客户端控制目标手机可以远程实现图二
建议修改成首先获得域名,然后匹配域名后缀。
ps: 某讯在https检测时也用了类似的方式。。。。。
0x02 Intent接口过滤不严
苏宁易购客户端提供以下Intent接口
苏宁豆芽怎样远程操作?客户端控制目标手机可以远程实现图三
这个接口提供的一个功能就是使用苏宁内嵌的浏览器打开指定网址,这里依然没有对目标网址进行过滤。
这个接口调用方式如下
苏宁豆芽怎样远程操作?客户端控制目标手机可以远程实现图四
测试地址:http://31.220.48.93:28214/sn/jm.html 使用安装有苏宁易购的手机浏览器打开这个网址就会跳转到苏宁然后打开乌云,如图
苏宁豆芽怎样远程操作?客户端控制目标手机可以远程实现图五
建议修复同上
0x03 用户可被克隆
正常用户登录后,数据区会产生比较多的数据,经过反测试发现
苏宁豆芽怎样远程操作?客户端控制目标手机可以远程实现图六
这个文件包含用户的所有信息,如果能获得用户的这个文件就能克隆用户。测试方式,在A机器上登录用户,复制出EbuyPreferences.xml文件。在B机器上打开一次苏宁易购,然后用刚才的EbuyPreferences.xml覆盖同名文件,再打开苏宁易购就已经是A的身份了,修改昵称发现操作正常,确定有权限。
修复的话匹配机器码或者mac都可以。
谁有权限跑到别人手机里去复制文件?就算能在别人手机复制文件,但是没root权限也不能跨应用读文件,这个似乎不好利用,别急,继续看。
0x04 远程命令执行
这个漏洞确实比较早了,具体看这里http://drops.wooyun.org/papers/548。在android 4.2之后就需要在被js调用的方法上强制增加@JavascriptInterface 否则不能调用,但是android同时存在一个妥协的办法就是如果程序允许在低版本的androd API上运行,则不用遵守@JavascriptInterface这个规则,以为这远程命令执行漏洞依然存在。