android常见漏洞
16lz
2021-01-24
一、组件本地拒绝服务漏洞:
漏洞描述:
组件暴露给外部后,在外部可以通过Intent启调app中的组件,如果组件中对参数没有判空时,就会出现空指针异常。
漏洞解决:
1. 不需要对外的组件,禁止暴露出来;
2. 广播,尽量使用内部广播。
二、Manifest不安全属性配置风险;
漏洞描述:
Manifest的application中存在android:allowBackup和android:debuggable两个属性,android:allowBackup设置成true后,可以通过PC的工具,比如豌豆荚、QQ手机助手等备份app中的信息,导致信息泄露;android:debuggable属性设置成true后,可以debug。
漏洞解决:
1. 将android:allowBackup设置成false(默认为true),android:debuggable不设置成true(默认为false)。
三、web组件远程代码执行:
漏洞描述:
加载wap的页面时,将java对象传给wap,wap端可通过这个对象操作系统方法,进行打电话、发短信等。
漏洞解决:
1. android4.3(含)以上的系统对这个问题做了优化;
2. 不将java对象传给wap,通过prompt将方法名传给webviewclient,匹配方法名调用具体的方法; 3. 进行白名单控制,对不在把名单内的链接不进行加载;
漏洞描述:
组件暴露给外部后,在外部可以通过Intent启调app中的组件,如果组件中对参数没有判空时,就会出现空指针异常。
漏洞解决:
1. 不需要对外的组件,禁止暴露出来;
2. 广播,尽量使用内部广播。
二、Manifest不安全属性配置风险;
漏洞描述:
Manifest的application中存在android:allowBackup和android:debuggable两个属性,android:allowBackup设置成true后,可以通过PC的工具,比如豌豆荚、QQ手机助手等备份app中的信息,导致信息泄露;android:debuggable属性设置成true后,可以debug。
漏洞解决:
1. 将android:allowBackup设置成false(默认为true),android:debuggable不设置成true(默认为false)。
三、web组件远程代码执行:
漏洞描述:
加载wap的页面时,将java对象传给wap,wap端可通过这个对象操作系统方法,进行打电话、发短信等。
漏洞解决:
1. android4.3(含)以上的系统对这个问题做了优化;
2. 不将java对象传给wap,通过prompt将方法名传给webviewclient,匹配方法名调用具体的方法; 3. 进行白名单控制,对不在把名单内的链接不进行加载;
更多相关文章
- Android中Activity界面展示与跳转及数据传递
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作
- 吊打面试官:Android中高级面试题 -- 终局之战
- Android用户界面 UI组件--AdapterView及其子类(一) ListView及各
- Android之桌面组件AppWidget
- 2018-03-10—Android六大布局之LinearLayout和RelativeLayout
- 1了解Android基本组件
- 《Android(安卓)Dev Guide》系列教程17:建立自定义View组件
- 剖析 Android(安卓)架构组件之 ViewModel