我最近使用HPFortify服务对我的Android源代码进行了代码扫描。他们报告了其中一个广播接收器的安全漏洞。他们建议使用广播公司的权限来减少攻击媒介。这样你就可以限制广播,否则任何恶意应用都可以发送意图,广播接收者也会对其进行处理。
这是我的实际代码:
String ACTION = "android.provider.Telephony.SMS_RECEIVED"
IntentFilter smsFilter = new IntentFilter(SMSReceiver.ACTION);
smsFilter.setPriority(Integer.MAX_VALUE);
smsReceiver = createSMSReceiver(ctx, l);
ctx.registerReceiver(smsReceiver, smsFilter);
我使用以下权限来听取许可。
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
理想情况下,代码的最后一行应该是:
ctx.registerReceiver(smsReceiver, smsFilter, "XXX.boradcaster.permission.XXX", null);
我无法弄清楚广播接收者的许可。任何人都可以建议如何解决这个问题吗?
答案 0 :(得分:1)
您要查找的权限是"android.permission.BROADCAST_SMS"
,或者您可以使用android.Manifest.permission.BROADCAST_SMS
常量。