App安全测试之Android应用安全测试汇总

2、在源码中查找使用 Runtime.getRuntime().exec 执行第三方程序的代码。

3、发现使用Runtime.getRuntime().exec执行第三方程序后,且检测到调用逻辑中存在缺陷,则风险存在。停止测试,记录漏洞。

预期结果:合理使用Runtime.getRuntime().exec等函数,防止恶意调用。

整改建议:合理设置程序逻辑防止恶意调用,如果该行为是非期望行为,移除相关代码。

数据的完整性进行校验

安全风险

App向服务器提交的数据易被中间人篡改,对用户数据的完整性造成影响,如用户信息被破解利用等问题。

执行步骤

1、使用Charles代理工具连接设备代理,启动app,正常操作app;

2、在app上对提交的数据进行修改,重新提交,查看这些参数的值有无变化;

3、对获取数据包参数进行修改并重放,查看是否可正常返回;

4、若数据正常返回,没有提示数据错误,说明app请求参数未进行完整性校验。

预期结果:请求数据中包含完整性校验字段。

整改建议:添加完整性校验逻辑。

键盘劫持测试

安全风险:

攻击者可以通过劫持键盘窃取用户输入数据,可能带来用户账号密码、敏感数据等泄露的风险,特别是银行金融类App。

执行步骤

1、打开应用,选择一处输入点进行输入。

2、观察应用程序是否打开自带键盘,如果使用系统键盘输入,则问题存在。记录漏洞,停止测试。

预期结果:App在输入时使用自带键盘。

整改建议:在App内集成自带键盘,并采用随机分布式键盘。

上一页123456下一页


留言