敏感信息测试
数据库是否存储敏感信息,某些APP会把cookie类数据保存在数据库中,一旦此数据被他人获取,可能造成用户账户被盗用等严重问题,测试中在跑完一个包含数据库操作的测试用例后,我们可以直接查看数据库里的数据,观察是否有敏感信息存储在内。一般来说这些敏感信息需要用户进行注销操作后删除。如果是cookie类数据,建议设置合理的过期时间。
日志是否存在敏感信息,一般开发在写程序的过程中会加入日志,所有可能会写入一些敏感信息,通常APP的发布版不会使用日志,但也不排除特殊情况。
配置文件是否存在敏感信息,与日志类似,我们需要检查配置文件中是否包含敏感信息。
二、账户安全
2.1 密码是否明文存储在后台数据库
在评审和测试中需要关注密码的存储。
2.2 密码传输是否加密
测试中我们需要查看密码是否被 明文传输,如果是HTTP接口,我们可以使用FIddler等工具直接查看。
2.3 账户锁定策略
对于 用户输入错误密码次数过多的情况,是否会将账户临时锁定,避免被暴力破解。
2.4 同时会话情况
一些应用对同时会话会有通知功能,这样至少可以让用户知识他的账户可能已经被泄漏了。在一定程度上能提升用户体验。
2.5 注销机制
在客户端注销后,我们需要验证任何的来自该用户的,需要身份验证的接口调用都不能成功。
数据通信安全
3.1 关键数据是否散列或加密
密码在传输中必须是加密的,其他敏感信息传输前也需要进行散列或者加加密,以免被中间节点获取并恶意利用。
3.2 关键连接是否使用安全通信,例如HTTPS
在获知接口设计后我们需要评估是否其中内容包含敏感信息