漏洞挖掘:绕开vivo安全拦截安装apk(2020.7.7)

2,946 阅读2分钟

发现了vivo安装器的一个漏洞,给vivoSRC提漏洞了,说明了影响情况和修复建议

按照vivo的处理流程,security.vivo.com.cn/assets/vivo…

这个漏洞应该属于:

本地绕过用户交互,如 USB 连接弹框,开发者选项等;

本地实现任意 APK 静默安装。(加上辅助点击,遮一个动画,妥妥的静默安装)

高危漏洞,基础奖励金额:2000-3000元。

然而vivo的回复如下:

您好,此次您提交的漏洞因:无实际危害证明,故做忽略处理。请提供具体的步骤、造成影响、危害等证明。感谢您对vivoSRC的支持,希望您继续关注vivoSRC。

如对审核结果有异议,请及时与我们联系。

既然我反馈了漏洞,vivo也认为是无危害,那我在此公开漏洞,各大app分发厂商过来抄一下吧(不过估计不久就会被vivo修复)

找漏洞过程,无非就是反编译看源码。

先把目标apk提取出来,系统的app放在system/app目录下

Android Studio打开Device File Explorer,找到apk、odex,右键save as。

copy手机的framework包(system/framework目录里面的全部文件)出来

odex转dex的反编译方法,请百度”odex转dex“

如果是vdex转dex,参考:github.com/anestisb/vd…

一番操作后得到反编译后的源码,搜索PackageInstallerActivity,看看这里有什么拦截逻辑。

其中有一句可疑代码:

if (TextUtils.isEmpty(this.d) || !this.d.contains("/system/custom/")) {
    //xxx逻辑
    setContentView();
    return;
}

直接建一个”system/custom/"目录,放apk安装试试。

常规的拦截,弹窗,联网,密码:

绕过后,直接可以安装(加上像某些软件的辅助点击,动画遮盖,那真无敌(chi))

判断contains(“system/custom/")目录,是就不拦截,开发者应该想startWith的吧,临时工的锅?