一、组件本地拒绝服务漏洞:
漏洞描述:
组件暴露给外部后,在外部可以通过Intent启调app中的组件,如果组件中对参数没有判空时,就会出现空指针异常。
漏洞解决:
- 不需要对外的组件,禁止暴露出来;
- 广播,尽量使用内部广播。
二、Manifest不安全属性配置风险;
漏洞描述:
Manifest的application中存在android:allowBackup和android:debuggable两个属性,android:allowBackup设置成true后,可以通过PC的工具,比如豌豆荚、QQ手机助手等备份app中的信息,导致信息泄露;android:debuggable属性设置成true后,可以debug。
漏洞解决:
- 将android:allowBackup设置成false(默认为true),android:debuggable不设置成true(默认为false)。
三、web组件远程代码执行:
漏洞描述:
加载wap的页面时,将java对象传给wap,wap端可通过这个对象操作系统方法,进行打电话、发短信等。
漏洞解决:
- android4.3(含)以上的系统对这个问题做了优化;
- 不将java对象传给wap,通过prompt将方法名传给webviewclient,匹配方法名调用具体的方法;
- 进行白名单控制,对不在把名单内的链接不进行加载;