某项目的移动APP安全测试报告
背景:应客户的要求,我们针对某大型项目移动端APP在UAT环境做了安全测试,目前安全测试也是很多公司比较重视的测试内容。
下面我把本次安全测试的报告分享给的大家,希望给大家一些启发,部分地方已加马赛克。
注意:因为复制的问题,文章格式上会展现不好。
XXX商城项目 |
移动安全测试报告 |
测试环境: Uat移动客户端v1.0.10 |
XXXXX有限公司 |
1. 概述
1.1. 测试人员
序号 | 姓名 | 联系方式 |
1 | 王海峰 | XXXXX@XXXX.com |
1.2. 测试目标
本次安全测试预期达到的目标为:
安全性测试,检测项目中存在的主要业务安全漏洞;
针对发现的安全漏洞提供相应的安全建议。
1.3. 测试范围
本次测试的范围如下:反编译、安装包签名、应用完整性校验、组件导出安全、本地敏感信息安全、键盘记录保护、拒绝服务、代码加固(混淆)、ROOT检测、敏感信息加密传输、敏感信息加密方式安全性、访问控制、短信重发、密码复杂策略、认证失败锁定策略、会话超时策略、UI信息泄露、注册,登陆,订单,支付敏感信息检测及篡改,安全退出;
1.4. 测试工具
测试工具:apktool、dex2jar、jd-gui、jarsigner、梆梆助手、模拟器、drozer,adb命令,fiddler
2测试内容
2.1 本地客户端
类别 | 检测项 | 测试内容 |
本地客户端 | 反编译 | √ |
安装包签名 | √ | |
应用完整性校验 | √ | |
组件导出安全 | X,存在被导出风险,可能存在拒绝服务攻击,第三方组件的问题:极光推送 | |
本地敏感信息安全 | √ | |
键盘记录保护 | √ | |
拒绝服务 | √ | |
代码加固(混淆) | √ | |
ROOT检测 | X,未有安装的警告提示 |
2.2通讯安全
类别 | 检测项 | 测试内容 |
通讯安全 | 敏感信息未加密传输 | X,uat环境未使用https协议,生产环境才会使用https协议 |
敏感信息加密方式不安全 | X,密码使用base64加密,容易破译 | |
访问控制(URL是否只能手机访问) | √ | |
短信重放(抓包工具抓包重放) | √ |
2.3安全策略设置
类别 | 检测项 | 测试内容 |
安全策略设置 | 密码复杂度策略 | X,可以设置弱口令 |
认证失败锁定策略 | √ | |
会话超时策略 | √ | |
UI信息泄露 | √ | |
账号登录限制(能否在两个设备上同时登录同一个帐号) | √ | |
安全退出策略 | √ |
2.4业务和服务器
类别 | 检测项 | 测试内容 |
业务安全和服务器安全 | 参考业务安全测试要点和Web安全测试规范(主要为越权漏洞、sql注入漏洞等) | √ |
2.5 篡改数据
类别 | 检测项 | 测试内容 |
篡改数据 | 篡改订单号 | √ |
篡改支付接口信息 | √ |
3. 测试结果
3.1测试统计
本次测试共发现以下漏洞,详细信息见下表:
漏洞名称 | 发现次数 | 威胁级别 | 漏洞产生原因 | |||
编码层面 | 业务逻辑 | 产品缺陷 | 其它 | |||
Root检测 | 1 | 高 | √ | |||
敏感信息加密不安全 | 1 | 高 | √ | |||
密码复杂度策略 | 1 | 低 | √ | |||
组件导出安全 | 1 | 高 | √ | |||
传输协议未使用https | 1 | 高 | √ |
3.2漏洞详情
3.2.1 Root检测
3.2.1.1威胁级别
高 | ■ | 中 | 低 |
3.2.1.2漏洞描述
ROOT检测:无论是否打开root,安装apk都不会给与安装的警告提示
3.2.1.3漏洞位置
安装apk
3.2.1.4修复建议
客户端APP可以对ROOT进行检测
3.2.2 敏感信息加密不安全
3.2.2.1威胁级别
高 | ■ | 中 | 低 |
3.2.2.2漏洞描述
敏感信息加密不安全:密码加密使用的是base64
3.2.2.3漏洞位置
密码加密
3.2.2.4修复建议
建议内容
3.2.3 密码复杂度
3.2.3.1威胁级别
高 | 中 | 低 | ■ |
3.2.3.2漏洞描述
对客户端APP进行用户名、密码设置,可以设置弱口令密码
3.2.3.3漏洞位置
密码设置。
3.2.3.4修复建议
客户端APP要检查用户输入的密码,禁止用户设置弱口令。
3.2.4 组件导出安全
3.2.4.1威胁级别
高 | ■ | 中 | 低 |
3.2.4.2漏洞描述
存在被导出风险,可能存在拒绝服务攻击
3.2.4.3漏洞位置
3.2.4.4修复建议
该组件导出问题是第三方组件“极光推送”的问题,无法修复。
3.2.5 敏感信息未加密传输
3.2.5.1威胁级别
高 | ■ | 中 | 低 |
3.2.5.2漏洞描述
客户端和服务器之前的通信未使用加密信道,敏感信息未加密传输
3.2.5.3漏洞位置
3.2.5.4修复建议
安全测试环境未使用https协议,生产环境才会使用https协议,无需修复。
通过测试,发现了uat环境的一些漏洞,root警告,密码复杂度,密码加密不安全,组件导出及拒绝服务攻击等问题。
<a href="http://www.wanghaifeng.net" title="欢迎各位开发与测试的朋友们!请扫码关注我!谢谢支持!" target="_blank">小蜜蜂博客</a>