APP安全测试要点

APP面临的威胁

APP评估思路

APP自动化检测思路

安全测试要点

证书和签名

  1. 将apk文件更名为zip
  2. 使用unzip解压
  3. META-INF中包含签名文件和真正的CERT.RSA文件(公钥证书自签名)
  4. 使用keytool工具查看证书内容
    keytool -printcert -file META-INF/CERT.RSA
  5. cat META-INF/CERT.SF

Allowbackup漏洞

AndroidManifest.xml文件中allowBackup属性值被设置为true。当allowBackup标志为true时,用户可通过adb backup来进行对应用数据的备份,在无root的情况下可以导出应用中存储的所有数据,造成用户数据的严重泄露。

整改建议
将参数android:allowBackup属性设置为false,不能对应用数据备份。

WebView漏洞

应用中存在WebView漏洞,没有对注册Java类的方法调用进行限制,导致攻击者可以利用反射机制调用未注册的其他任何JAVA类,最终导致JavaScript代码对设备进行任意攻击。

整改建议
通过在Java的远程方法上面声明一个@JavascriptInterface 来代替addjavascriptInterface;
在使用js2java的bridge时候,需要对每个传入的参数进行验证,屏蔽攻击代码;
Note :控制相关权限或者尽可能不要使用js2java 的bridge 。

关键数据明文传输

应用程序在登录过程中,使用http协议明文传输用户名和密码,并未对用户名和密码进行加密处理。通过监控网络数据就可以截获到用户名和用户密码数据,导致用户信息泄露,给用户带来安全风险。

整改建议
在传输敏感信息时应对敏感信息进行加密处理。

任意账号注册

  1. 使用手机号133*887注册某个APP,获取验证码46908;
  2. 在确认提交时,拦截请求,修改注册的手机号码,即可注册任意账号,这里修改为1338*678(任意手机号);

整改建议
注册过程最后的确认提交时,服务器应验证提交的账号是否是下发验证码的手机号。

猜你喜欢

转载自www.cnblogs.com/yoyoyang/p/11815592.html