本APP安全测试系列分为5个篇章,这五个篇章的内容可以作为APP测试的样例,在遇到APP测试工作时,可以直接依次按照教程的步骤进行测试,最后编写APP测试报告即可。
-
测试前准备
-
身份鉴别
-
数据传输与存储
-
容错与客户端保护
-
业务及Web应用安全
话不多说,直接开始第三篇,数据传输与存储:
1、Web应用关键数据传输加密测试(风险等级:高)
检查方法:输入敏感信息时,用burpsuite抓包,查看账号、密码、转账等敏感信息是否明文传输。
检查过程:充值时,用burpsuite抓包。充值信息加密传输,此项测试安全。
攻击方法:若没有对关键数据进行传输加密,攻击者可以直接从抓到的数据包获得用户的账号、密码等敏感信息。
修复建议:对关键数据进行传输加密,且不能使用MD5等弱加密算法,易被攻击者破解。
2、Web应用关键数据重放测试(风险等级:高)
检查方法:转账和转账时,用burpsuite抓包,将抓到的充值/转账信息重复发送,看是否重放信息是否有效。
检查过程:充值时,用burpsuite抓包,将抓到的充值信息重复发送,客户端并没有收到充值提示。此项测试安全。
攻击方法:攻击者可以通过重放攻击,重复发送转账信息,本来一次转账一百元,黑客将这信息重放十次,那么他将得到十倍收益。
修复建议:对于转账、付款等操作加上时间戳,对于已转账成功的数据包不予以处理。
3、Web应用关键数据篡改测试(风险等级:高)
检查方法:转账或充值时,用burpsuite抓包,查看转账/充值/登录信息是否能修改。
检查过程:充值时,用burpsuite抓包,充值信息已加密处理,无法改变金额。
攻击方法:黑客可以通过重放攻击,发送被更改金额的转账信息。或在用户修改密码时,篡改密码。
修复建议:对关键数据进行传输加密。对转账、修改密码等重要操作进行鉴权,确定用户是否有权限修改phoneno参数的密码。
4、本地敏感信息存储测试(风险等级:高)
检查方法:查看APP的存储文件,查看账号、密码是否明文存储于本地文件夹中。
检查过程:导出APP存储文件,查看没有明文存储的敏感信息。此项测试安全。
攻击方法:用户账号密码若已明文形式存储于本地,黑客可以通过复制本地文件,获取用户账号密码等敏感信息。
修复建议:对敏感信息进行加密处理。
5、Web数据库明文信息存储(风险等级:高)
检查方法:查看数据库信息,看是否有敏感信息明文存储。
检查过程:用sqlist查看数据库信息,host_key;userid都是明文传输。此项测试存在漏洞。
攻击方法:攻击者可以通过明文存储的数据库信息得到用户账号密码和cookie值。
修复建议:本地不存储cookies信息,对其他敏感信息加密存储。
6、AllowBackup属性配置(风险等级:高)
检查方法:查看AllowBackup的值。
检查过程:用“ApkIDE”查看AllowBackup的值,其值为FALSE,此项测试安全。
攻击方法:攻击者即可通过adb backup和adb restore进行恢复新安装的同一个应用来查看聊天记录等信息;对于支付金融类应用,攻击者可通过此来进行恶意支付、盗取存款等。
修复建议:将allowBackup的值设置为FALSE。
关注公众号了解更多资讯
原文始发于微信公众号(纵横安全圈):APP安全测试系列-数据传输与存储
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论