银行手机APP安全评估报告【转载】
猫头鹰工作室 我不相信命运,但尊敬命运
银行手机APP安全评估报告
1.1 目标范围
某一银行手机APP
1.2 渗透测试说明
渗透测试利用安全扫描工具和富有经验的安全工程师人工对网络中的主要服务器及重要的应用系统等进行非破坏性质的模拟黑客攻击,目的是侵入系统并获取机密信息并将入侵的过程和细节产生报告给用户。由此确定用户系统所存在的安全威胁。并能及时提醒安全管理员完善安全策略,降低安全风险。
渗透测试和工具扫描可以很好的互相补充。工具扫描具有很好的效率和速度,但是存在一定的误报率,不能发现高层次、复杂的安全问题;渗透测试需要投入的人力资源较大、对测试者的专业技能要求很高(渗透测试报告的价值直接依赖于测试者的专业技能),但是非常准确,可以发现逻辑性更强、更深层次的弱点。
1.3 渗透测试方法
黑客的攻击入侵需要利用目标网络的安全弱点,渗透测试也是同样的道理。它模拟真正的黑客入侵攻击方法,以人工渗透为主,辅助以攻击工具的使用,这样保证了整个渗透测试过程都在可以控制和调整的范围之内。
Sql注入、跨站脚本xss攻击、框架漏洞、信息泄漏等常见web漏洞;
越权访问、Csrf跨站点伪造请求攻击漏洞;
客户端劫持、键盘劫持漏洞;
安卓app客户端信息泄漏、残余信息、键盘记录、反编译等漏洞;
1.4 渗透测试结果
1.4.1 Android版彩虹bank app安全测试(发现问题)
1.4.1.1 APP本地缓存测试(未发现问题)
1.4.1.1.1 手机端缓存分析
未发现存储异常数据
1.4.1.1.2 手机端本地数据库分析
未发现存储异常数据
1.4.1.2 APP运行安全测试(发现问题)
1.4.1.2.1 键盘监听测试
APP密码框输入使用内带安全键盘无法监听到用户输入。
如在用户框中输入则是可以监听的。
1.4.1.2.2 APP攻击面分析(发现APP开启debuggable)
发现APP有一个Activity组件可以调用,并且开启debuggable模式。
建议:关闭debuggable模式
1.4.1.2.3 Activity组件分析
发现APP开启的Activity组件com.yucheng.android.hebbank.WelcomeActivity为启动界面不存在问题
1.4.1.2.4 APP的数据缓存目录、权限、版本等基本信息分析
未发现有异常问题。
1.4.1.2.5 日志输出分析(发现输出登录用户名和密码等客户敏感信息)
在登录时日志输出客户账号、密码等敏感信息
在进行操作时日志也会显示出操作信息。
建议:关闭输出日志
1.4.1.3 APP反编译测试(未发现问题)
1.4.1.3.1 代码反编译
App编译时已经做了混淆,无法进行有效利用。
1.4.1.3.2 AndroidManifest.xml文件分析
AndroidManifest.xml文件分析未发现其它问题,与前面APP运行安全测试的一致开启了debuggable
1.4.1.4 APP各个功能点检测(发现问题)
1.4.1.4.1 用户登录(录时密码未进行加密)
用户登录时密码未进行加密。
建议:虽有HTTPS加密传输,但当客户遭遇中间人攻击时容易被窃取账号密码。建议对用户名密码进行加密。
1.4.1.4.2 绑定银行卡(未发现问题)
在绑定银行卡过程中未发现存在问题。
1.4.1.4.3 资产总览(存在请求伪造)
因没有启用ssl双向认证,黑客获取cookie后可以伪造请求去查询账户信息。
把截获的请求包使用其它浏览器发送请求可以请求成功。
建议:如果启用ssl双向认证用户在进行操作时需要反复输入密码完成双向认证过程,可能会影响用户体验,参照同业标准,(目前只有农行采用ssl双向认证)。
1.4.1.4.4 交易记录查询(存在容错问题)
交易记录查询的count查询条数字段默认为20条,但输入字母或者字符的时候出现应用程序出错。
建议:在服务端对接收的数据类型进行验证并屏蔽软件错误信息。
1.4.1.4.5 资金转出(存在容错问题)
在资金转出时,转出金额在APP界面是无法转出大于活期余额的金额。
但是对交易数据进行拦截修改转出金额为一长串负数时报出错误信息
修改交易密码为空时也报出程序错误信息。
在拦截时修改金额且输入错误的交易密码也能成功提交。
资金转出过程中在APP端对输入的数据类型、交易金额进行了验证,但在服务端未进行验证。
建议:在服务端对接收的数据类型、交易金额进行验证并屏蔽软件错误信息。
1.4.1.4.6 资金转入(未发现问题)
在资金转入的操作过程中未发现问题
1.4.1.4.7 活动页面(存在RUL重定向)
点击活动页面会发送请求外部网站资源。
可以拦截修改请求为百度。
建议:对请求的外部资源返回内容进行验证
1.4.1.4.8 我的添金(存在容错和重放攻击问题)
在添金的交易过程中,进行数据拦截修改申购金额输入长串数据报出软件错误信息。
修改赎回金额输入长串数据也是报出软件错误信息。
添金申购存在重放攻击,拦截交易数据可以重复成功提交请求。
添金赎回也存在重放攻击,拦截交易数据可以重复成功提交请求。
建议:对于容错问题可以在服务端对接收的数据类型进行验证并屏蔽软件错误信息。对于重放攻击可以设置时间戳屏蔽过期请求,或者设置消息序号在交易时事先协商好序号以判断请求的唯一性。
1.4.1.4.9 步步增利(存在容错和重放攻击问题)
在步步增利的存入过程中,进行数据拦截修改申购金额输入长串数据报出软件错误信息
在支取过程中,进行数据拦截修改金额输入长串数据也报出软件错误信息
步步增利存入存在重放攻击,因为账户金额不足交易失败但还是可以重复成功提交请求。
步步增利支取也存在重放攻击,拦截交易数据可以重复成功提交请求。
建议:对于容错问题可以在服务端对接收的数据类型进行验证并屏蔽软件错误信息。对于重放攻击可以设置时间戳屏蔽过期请求,或者设置消息序号在交易时事先协商好序号以判断请求的唯一性。
1.4.1.4.10 个人信息(未发现问题)
个人消息页面未发现问题。
1.4.1.4.11 我的消息(未发现问题)
我的消息页面未发现问题。
1.4.1.4.12 安全中心(未发现问题)
修改登录密码需要短信验证码,操作过程中未发现问题。
重置交易密码需要短信验证、身份证号码,操作过程中未发现问题。
修改交易密码需要短信验证,操作过程中未发现问题。
修改手机可分为原手机可用和不可用需要短信验证,不可用需要上传身份证照片验证,操作过程中未发现有问题。
修改绑定邮箱需要手机短信验证码和邮箱验证,操作过程中未发现问题。
1.4.1.4.13 找回登录密码(未发现问题)
找回密码需要手机验证码以及详细的个人信息,操作过程中未发现问题。
1.4.2 IOS版彩虹bank app安全测试(发现问题)
1.4.2.1 日志输出分析(未发现问题)
在操作过程中未发现有敏感日志信息输出
1.4.2.2 本地数据库分析(未发现问题)
检测本地数据未发现敏感信息存储
1.4.2.3 本地缓存文件分析(未发现问题)
检测本地文件存储路径未发现有敏感信息
1.4.2.4 检查keychain-2.db数据库(未发现问题)
keychain-2.db是IOS通用存储密码数据库,检测发现彩虹bank的敏感信息
1.4.2.5 APP各个功能点测试(发现问题)
1.4.2.5.1 登录(未对密码进行加密)
登录时未对密码进行加密,虽使用HTTPS但客户遇到中间人攻击时密码容易被截获。
建议:登录时对密码进行加密。
1.4.2.5.2 资产总览(存在请求伪造)
因没有启用ssl双向认证,黑客获取cookie后可以伪造请求去查询账户信息。
把截获的请求包使用其它浏览器发送请求可以请求成功。
建议:如果启用ssl双向认证用户在进行操作时需要反复输入密码完成双向认证过程,可能会影响用户体验,参照同业标准,(目前只有农行采用ssl双向认证)。
1.4.2.5.3 交易记录查询(存在容错问题)
交易记录查询的count查询条数字段默认为10条,但输入字母或者字符的时候出现应用程序出错。
建议:在服务端对接收的数据类型进行验证并屏蔽软件错误信息。
1.4.2.5.4 资金转出(存在容错问题)
在资金转出时,转出金额在APP界面是无法转出大于活期余额的金额。
但是对交易数据进行拦截修改转出金额为一长串负数时报出错误信息
修改交易密码为空时也报出程序错误信息。
在拦截时修改金额且输入错误的交易密码也能成功提交。
资金转出过程中在APP端对输入的数据类型、交易金额进行了验证,但在服务端未进行验证。
建议:在服务端对接收的数据类型、交易金额进行验证并屏蔽软件错误信息。
1.4.2.5.5 资金转入(未发现问题)
在资金转入过程中未发现问题。
1.4.2.5.6 活动页面(存在RUL重定向)
点击活动页面会发送请求外部网站资源。
可以拦截修改请求为百度,修改一次之后每次点击打开活动页面都会打开百度页面
建议:对请求的外部资源返回内容进行验证
1.4.2.5.7 我的添金(存在容错和重放攻击问题)
在添金的交易过程中,进行数据拦截修改申购金额输入长串数据报出软件错误信息。
修改赎回金额输入长串数据也是报出软件错误信息。
添金申购存在重放攻击,拦截交易数据可以重复成功提交请求。
添金赎回也存在重放攻击,拦截交易数据可以重复成功提交请求。
建议:对于容错问题可以在服务端对接收的数据类型进行验证并屏蔽软件错误信息。对于重放攻击可以设置时间戳屏蔽过期请求,或者设置消息序号在交易时事先协商好序号以判断请求的唯一性。
1.4.2.5.8 增利(存在容错和重放攻击问题)
在步步增利的存入过程中,进行数据拦截修改申购金额输入长串数据报出软件错误信息
在支取过程中,进行数据拦截修改金额输入长串数据也报出软件错误信息
步步增利存入存在重放攻击,因为账户金额不足交易失败但还是可以重复成功提交请求。
步步增利支取也存在重放攻击,拦截交易数据可以重复成功提交请求。
建议:对于容错问题可以在服务端对接收的数据类型进行验证并屏蔽软件错误信息。对于重放攻击可以设置时间戳屏蔽过期请求,或者设置消息序号在交易时事先协商好序号以判断请求的唯一性。
1.4.2.5.9 个人信息(未发现问题)
在个人信息页面未发现问题
1.4.2.5.10 我的消息页面(未发现问题)
在我的消息页面未发现问题
1.4.2.5.11 安全中心(未发现问题)
修改登录密码需要手机验证码,过程中未发现问题。
交易密码重置需要手机验证码,过程中未发现问题。
修改交易密码需要手机验证码,过程中未发现问题
变更银行卡需账户金额为0,操作过程中未发现问题。
修改绑定手机分为原手机可用和不可用,不可用需要上传身份证照片,过程中未发现问题。
修改绑定邮箱需要手机验证码和邮箱验证,过程中未发现问题。
1.4.2.5.12 找回登录密码(未发现问题)
找回密码需要手机验证码以及详细的个人信息,操作过程中未发现问题。
1.4.3 彩虹bank官网渗透测试(发现问题)
1.4.3.1 SSL V3 Protocol信息泄露漏洞
测试官网HTTPS兼容SSL V3
关于SSL V3 Protocol漏洞的介绍
建议:屏蔽sslv3协议。
1.4.3.2 用户注册(存在SQL注入)
在彩虹bank官方网站的注册页面的手机号码字段存在SQL注入。在注册的时输入手机号码之后会先发送手机号码至服务器验证是否已经注册过。
验证手机号码时发送的数据包
发现phoneNumber字段存在SQL注入,使用SQLmap验证的结果如下图。
发现可利用的有4个数据库,存在问题字段:phoneNumber,类型为布尔型。
建议:对用户输入进行过滤,及时联系厂商进行修补。
1.4.3.3 资产总览(未发现问题)
在资产总览页面未发现问题。
1.4.3.4 交易记录(未发现问题)
在交易记录的查询过程中未发现问题。
1.4.3.5 账户管理(未发现问题)
在账户管理页面未发现问题。
1.4.3.6 增利(未发现问题)
在步步增利交易过程中未发现存在问题。
转载请注明:猫头鹰工作室 » 银行手机APP安全评估报告
刚赶走勒索病毒,又来挖掘木马 1分钟带你了解英特尔 CPU 安全漏洞
取消评论
表情 有人回复时邮件通知我
转载于:https://www.cnblogs.com/Susie-/p/10144207.html
银行手机APP安全评估报告【转载】相关推荐
- 银行手机APP软件做性能测试吗,20家农村商业银行个人手机APP评测:CPU占用率差距最大可达32倍 流量消耗成重灾区...
为持续跟踪和检测手机银行APP的兼容性和易用性等方面的表现,为行业发展提供有益参考,中国电子银行网联合CFCA兼容和性能测试平台对20家农村商业银行客户端进行测试.今年测试范围首次加入IOS系统,与安 ...
- 蚂蚁金服×西安银行 | 西安银行手机银行App的智能升级之路
小蚂蚁说: 当前,数字化信号已经逐渐深入到社会的每个角落,影响着用户的心智和行为,来到数字化时代门口的银行,需要注意到数字化信号.西安银行通过引入蚂蚁金服移动开发平台mPaaS,对手机银行进行架构升级 ...
- node.js毕业设计安卓手机银行客户端APP(程序+APP+LW)
该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...
- (转载)H5 手机 App 开发入门:概念篇
H5 手机 App 开发入门:概念篇 一.H5 的含义 二.原生应用 2.1 概念 2.2 优点 2.3 缺点 三.Web 应用 3.1 概念 3.2 优点和缺点 3.3 Web APP 的劣势 3. ...
- (转载)H5 手机 App 开发入门:技术篇
H5 手机 App 开发入门:技术篇 一.手机 APP 的技术栈 二.WebView 控件 三.原生技术栈 3.1 Xcode 3.3 Android Studio 四.混合技术栈 4.1 框架种类 ...
- 黑客攻击发现:多个银行类APP存漏洞
随着移动网络日渐发达,越来越多的市民习惯使用智能手机随时随地进行在线交易.除第三方支付平台外,银行类APP也在用户的手机中占领重要席位. 日前,在国内首届"XPwn未来安全探索盛会" ...
- 企业金融App评测系列——微众银行以App构筑企业金融服务新生态,成为企业的随身数字银行
易观分析:近年来,疫情驱动小微企业线上化需求不断提升,经营面临的财力.人力.信息获取的紧迫性进一步提升.为更好发展普惠小微金融的商业银行对公服务,正聚焦更好满足小微企业的数字化需求,加快打造企业手机银 ...
- 2018最“牛”的4个手机APP,第2个不仅可以收获爱情还能赚钱!
说起手机APP,我用过不少也推荐过不少,今天我就来盘点一下2018最"牛"的手机APP,到底有哪些呢?一起来看看吧, 2018最"牛"的4个手机APP,第2个不 ...
- 微信开放平台手机APP支付
PHP对接APP微信支付 微信开放平台手机APP支付总结 1. 微信开放平台手机APP支付总结 支付功能链接: https://pay.weixin.qq.com/wiki/d ...
最新文章
- HCTL-2020正交码读写芯片
- 最烦人的正则表达式记忆口诀
- 如何消除运动后肌肉酸痛 (DOMS - Delayed Onset Muscle Soreness)
- [C]Ubuntu 13.04实现NVIDIA双显卡切换
- 2019-03-15-算法-进化(有效的数独)
- 自我训练——时间控制能力(四)
- 学习:java原理—反射机制
- python 微信机器人教程_Python实现微信机器人的方法
- 打开json文件的工具_Flutter中JSON转Model——在线生成
- 【车牌识别】基于matlab投影模板匹配车牌识别【含Matlab源码 1359期】
- Java基于WEB的商品库存管理系统
- python之读取和写入文件
- 问道服务器etc修改教程,常用的修改etc对照表-详细版
- 数字化时代,小程序平台促进银行线上金融业务发展
- 【原创】VBA学习笔记(303)VBA 要善用各种VBE 代码窗口 自带的帮助系统
- 百度移动生态升级一周年:背后的攻与守、破与立
- 基于晶体结构算法的函数寻优算法
- 996程序员入职一年多,同事涨了4千他没涨,跟领导提涨薪,回复愣了
- 学校宽带被远程计算机终止,宽带连接被远程计算机终止是什么意思
- 一元三次方程求解-二分
Hi,您需要填写昵称和邮箱!