当利用drozer检测到安卓应用组件信息暴露时,我们如何解决?
一、组件不需要与其他数据共享数据或者交互
AndroidMainfest.xml配置文件中将该组件设置为exported=false
二、组件需要与其他数据共享数据或者交互
当组件需要与其他数据共享数据或者交互时,可以进行权限控制。
例如:
(1)在AndroidMainfest.xml配置文件中,自定义一种权限:
<permission
android:name="${applicationId}.permission.NONE_ACTIVITY"
android:description="权限描述"
android:label="自有权限"
android:protectionLevel="normal" />
(2)在暴露组件中引用自定义权限
<receiver
android:name=".receiver.JPushReceiver"
android:enabled="true"
android:exported="false"
android:permission="${applicationId}.permission.NONE_ACTIVITY">
<intent-filter>
<action android:name="cn.jpush.android.intent.REGISTRATION" />
<action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
<action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
<action android:name="cn.jpush.android.intent.NOTIFICATION_CLICK_ACTION" />
<action android:name="cn.jpush.android.intent.CONNECTION" />
<category android:name="com.xxxx.xxxx" />
</intent-filter>
</receiver>