Android常见安全风险点之sql注入

风险在于数据库数据泄露,可被删除、篡改等问题。

若有这方面的问题,其实可以参考WEB上对SQL的防护,通常可以是定向过滤、参数化等,也可以是白名单模式。

然而对于安卓而言,考虑到数据库文件就在本地,所以建议增加一环,将SQLITE文件进行加密,解密放在SO扩展中。

我要评论!

想一个你喜欢的昵称。
给一个你的常用邮箱。
想和萌萌哒的TA们说点啥。
  • 该风险可能产生恶意发送广播,拦截有序广播。 如果它们只被同一个软件中的代码调用,将broadcast属性改为android:exported=”false”,如果组件需要对外暴露,应该通过自定义权限限制对它的调用。
  • Android4.1之前的版本中,sdcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示,而在Jelly Bean系统中修改为了“/storage/sdcard0”,以后可能还会有多个sdcard的情况。目前为了保持和之前代码的兼容,不要硬编码“/sdcard/”。 为了使代码...
  • 创建一个属于你自己的android.app.Application的子类,然后在manifest中申明一下这个类,这是android就为此建立一个全局可用的实例,你可以在其他任何地方使用Context.getApplicationContext()方法获取这个实例,进而获取其中的状态(变量)。 下面...
  • HTTPS禁止使用ALLOW_ALL_HOSTNAME_VERIFIER,因为这样会存在中间人攻击的风险。 必须使用STRICT_HOSTNAME_VERIFIER并校验证书,详细修复方案请参照Google官方关于SSL的安全建议:https://developer.android.com/trai...
  • Activity,Service等组件有些是对外开放的(manifest.xml 中 export为true或定义的intent-filter的组件是可导出组件),当这些组件传递的参数未做校验时,这些参数可能导致APP 拒绝服务。 请严格校验输入参数,注意空值判定和类型转换判断,防止由于异常输入导致...
微信扫一扫即可带走我!