Android常见安全风险点之Intent风险

隐式intent没有明确指明哪些接收方有权限接收,恶意程序指定action标识后,可以获取intent内容,导致数据泄露,intent劫持,仿冒,钓鱼应用等风险。

使用Intent.setPackage、Intent.setComponent、Intent.setClassName、Intent.setClass、new Intent(context,Receivered.class)中任一种方法明确指定目标接收方,显式调用intent。

如:Intent.setAction(getPackageName() + ".download.handler_service")

相关推荐:
在AndroidMainifest.xml中增加允许使用网络选项(在</application>结束标签之后>): <uses-permission android:name="android.permission.INTERNET" />
由于应用开发者没有对传入的数据做异常判断,恶意应用可以通过传入畸形数据,例如向getXXXExtra()传入自定义的序列化类对象,会导致应用本地拒绝服务。 对getextra方法加上try catch 捕获异常,防止应用拒绝服务。
Android4.1之前的版本中,sdcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示,而在Jelly Bean系统中修改为了“/storage/sdcard0”,以后可能还会有多个sdcard的情况。目前为了保持和之前代码的兼容,不要硬 …
当你的控制台上找不到错误或者看不懂错误的时候,点 Project-->clean,清空下项目就会没问题。
在使用startActivityForResult()和onActivityResult()时,会分别用到requestCode和resultCode,有时候极容易将2个参数混淆起来。 startActivityForResult(Intent intent, Int requestCode) intent 传给B的 …
拿起手机扫一扫即可带走我!