Android之allowBackup属性

前言:公司平台对我们的项目做了安全检测,然后就给我们部门报了一个安全漏洞的问题,就是在AndroidManifest.xml配置文件中没有设置allowBackup标志,因为allowBackup的默认值为true,所以这个高危风险漏洞就是指的在AndroidManifest中allowBackup设置为true了。很多产品我想如果没有危险扫面警报的时候都是设置为true了,所以我今天想着好好介绍一下这个可以引起高危漏洞的allowBackup属性。

allowBackup有什么作用呢?

AllowBackup是在Android 2.2中引入的一个系统备份的功能。允许用户备份系统应用和第三方应用的apk安装包和应用数据,以便在刷机或者数据丢失后恢复应用,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。第三方应用开发者需要在应用的 AndroidManifest.xml 文件中配置 allowBackup 标志(默认为 true )来设置应用数据是否能能够被备份或恢复。

allowBackup会引起的高危漏洞是什么?

Android属性allowBackup安全风险源于adb backup容许任何一个能够打开USB 调试开关的人从Android手机中复制应用数据到外设,一旦应用数据被备份之后,所有应用数据都可被用户读取;adb restore容许用户指定一个恢复的数据来源(即备份的应用数据)来恢复应用程序数据的创建。因此,当一个应用数据被备份之后,用户即可在其他Android手机或模拟器上安装同一个应用,以及通过恢复该备份的应用数据到该设备上,在该设备上打开该应用即可恢复到被备份的应用程序的状态。

尤其是通讯录应用,一旦应用程序支持备份和恢复功能,攻击者即可通过adb backup和adb restore进行恢复新安装的同一个应用来查看聊天记录等信息;对于支付金融类应用,攻击者可通过此来进行恶意支付、盗取存款等;因此为了安全起见,开发者务必将allowBackup标志值设置为false来关闭应用程序的备份和恢复功能,以免造成信息泄露和财产损失。

该漏洞的解决方案:

1.将allowBackup 的值设置为false;(allowBackup的值为false 对项目运行没有任何影响)

2.通过手机设备的IMEI号来辨识来设备编号和备份前是否一致,不一致则直接跳转登陆页面的同时清空当前应用数据及缓存;

那么allowBackup为true时怎么备份数据呢?

1.打开控制台,输入adb backup -f back.ab -noapk 项目包名(至于怎么查看某个apk的包名请看最后的链接地址)

2.回车之后出现下列界面(可能你的是英文的哟)

3.输入密码,备份你的数据(如果不想加密可以不用输入密码直接点击备份)

4.这样你备份好了你的数据,然后将你备份的数据输入另外一台设备中。在另一台设备中安装程序,在控制台输入adb restore back.ab,弹出下列界面,输入密码(如果前面一步你没设置密码就不需要输入密码)

Android之allowBackup属性_第1张图片

5.点击恢复数据即可。

以上这几步就是简单的备份和回复数据了,如果想详细的了解怎么备份回复以及破解apk的数据,请看下面的链接:

https://blog.csdn.net/qq_31387043/article/details/51452782

好了,allowBackup介绍到此为止喽。。。

see you

你可能感兴趣的:(学无止境)