app被绿盟检测出有组件暴露风险。解决办法是对不需要暴露的组件在AndroidManifst.xml中增加属性
android:exported="false"。对于需要暴露的组件则添加权限。
这里说说如何使用drozer检测安全漏洞。
在drozer官网和下载工具总是下载不下来。然后就找了一个网盘下载的。作者也写了如何安装工具,我也是照着文中步骤安装的。
连接:https://www.cnblogs.com/JDragons/p/5596258.html
辅助工具视自己需要选择安装。
记录一下几个问题:
1、jdk环境变量
因为使用的是as自带的jdk,所以没有配置系统环境变量。在cmd中输入java -version,可以看到jdk版本。只要知道as的jdk目录,然后配置好系统环境变量。
输入 java - verbose查看jdk目录
配置好环境变量:D:\Program Files\Android\Android Studio\jre\jre,配置方法就不多说了
2、连接真机之后执行 drozer console connect 报错
这是因为没有做端口转发。
执行 adb forward tcp:31415 tcp:31415
执行完之后记得等待一会儿,否则有可能再次执行drozer console connect是还是会报这个错(我还以为是这个语句有问题,然后找了好几篇文章都是这样)。
可是端口转发成功之后,再次执行命令:drozer console connect,有出现了如下错误(这些在我参考的那边文章中都有解决方案,我也是参照他的方案解决的):Could not find java. Please ensure that is installed and on you PATH
按照文中的步骤创建文件:.drozer_config。创建之后放在c盘当前用户的文件夹下。
连接成功如图:
连接成功之后就可以做检测了
真机要处于调试状态
执行:run app.package.list -f 包名(可以是完整包名的一部分)。
执行:run app.package.attacksurface 包名
可以看到只有一个activity是有暴露风险的,当然,这里的这个activity是启动页面,必须要暴露出来的。
更多的检测命令可参考这位博主的文章:
https://www.jianshu.com/p/826439b24467