来自 Google Play 的 Intent 重定向漏洞通知
Intent Redirection Vulnerability Notification From Google Play
我根据 https://developers.google.com/identity/sms-retriever/user-consent/request
为我的 android 应用构建了一次点击同意 OTP 验证
我的代码唯一不同的是我更改了
override fun onCreate(savedInstanceState: Bundle?) {
// ...
val intentFilter = IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION)
registerReceiver(smsVerificationReceiver, SmsRetriever.SEND_PERMISSION, intentFilter)
}
在文章中,至:
// ...
val intenetFilter = IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION)
registerReceiver(smsBroadcastReceiver, intenetFilter)
我删除了 SmsRetriever.SEND_PERMISSION
,因为出现类型不匹配错误,如图所示: This may be because Google states here This permission setting is available in Google Play services version 19.8.31 or higher.
但是,我正在使用
implementation 'com.google.android.gms:play-services-auth:19.2.0'
implementation 'com.google.android.gms:play-services-auth-api-phone:17.5.1'
在我的构建中 gradle。我认为还没有 19.8.31 版本的 play-services-auth 可供下载。
然后我尝试了另一种方法,在我的 android 清单中为我的广播接收器添加以下权限:
<receiver
android:name=".ui.otpVerification.SmsBroadcastReceiver"
android:exported="true"
android:permission="com.google.android.gms.auth.api.phone.permission.SEND">
<intent-filter>
<action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED" />
</intent-filter>
</receiver>
而且我认为这会解决意图漏洞问题,因为我正在为我的接收器设置 SEND_PERMISSION
权限,如 https://support.google.com/faqs/answer/9267555
中所述
但是,当我创建新版本并将其提交审核时,我仍然收到返回 Intent Redirection Vulnerability 的相同通知。我做错了什么吗?还有什么我需要考虑的吗?
我改为添加了以下内容并且有效。
// ...
val intenetFilter = IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION)
registerReceiver(smsBroadcastReceiver, intenetFilter, SmsRetriever.SEND_PERMISSION, null)
不需要对 Android 清单做任何事情。只改了上面那一行。
我根据 https://developers.google.com/identity/sms-retriever/user-consent/request
为我的 android 应用构建了一次点击同意 OTP 验证我的代码唯一不同的是我更改了
override fun onCreate(savedInstanceState: Bundle?) {
// ...
val intentFilter = IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION)
registerReceiver(smsVerificationReceiver, SmsRetriever.SEND_PERMISSION, intentFilter)
}
在文章中,至:
// ...
val intenetFilter = IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION)
registerReceiver(smsBroadcastReceiver, intenetFilter)
我删除了 SmsRetriever.SEND_PERMISSION
,因为出现类型不匹配错误,如图所示: This permission setting is available in Google Play services version 19.8.31 or higher.
但是,我正在使用
implementation 'com.google.android.gms:play-services-auth:19.2.0'
implementation 'com.google.android.gms:play-services-auth-api-phone:17.5.1'
在我的构建中 gradle。我认为还没有 19.8.31 版本的 play-services-auth 可供下载。
然后我尝试了另一种方法,在我的 android 清单中为我的广播接收器添加以下权限:
<receiver
android:name=".ui.otpVerification.SmsBroadcastReceiver"
android:exported="true"
android:permission="com.google.android.gms.auth.api.phone.permission.SEND">
<intent-filter>
<action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED" />
</intent-filter>
</receiver>
而且我认为这会解决意图漏洞问题,因为我正在为我的接收器设置 SEND_PERMISSION
权限,如 https://support.google.com/faqs/answer/9267555
但是,当我创建新版本并将其提交审核时,我仍然收到返回 Intent Redirection Vulnerability 的相同通知。我做错了什么吗?还有什么我需要考虑的吗?
我改为添加了以下内容并且有效。
// ...
val intenetFilter = IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION)
registerReceiver(smsBroadcastReceiver, intenetFilter, SmsRetriever.SEND_PERMISSION, null)
不需要对 Android 清单做任何事情。只改了上面那一行。