关于Damn-Vulnerable-Bank
Damn-Vulnerable-Bank这款Android端应用程序,旨在提供一个接口以帮助广大研究人员都能详细了解Android应用程序的内部细节和安全情况。
功能介绍
注册
登录
个人资料
修改密码
设置接口(更新后端URL)
添加指纹检测(在转账/查看资金之前)
添加PIN码检测(在转账/查看资金之前)
查看余额
资金转账(手动输入)
添加收款人
查看收款人
查看转账记录
工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/rewanth1997/Damn-Vulnerable-Bank.git
后端服务器安装&配置
将项目代码克隆至本地之后,接下来,我们还需要安装后端服务器。应用程序需要开启一台API服务器,主要负责处理来自Android应用程序的请求。
Docker安装
cd BackendServer
docker-compose up --build
curl <IP>:<magic_port>/api/health/check
非Docker安装
安装依赖:
nodejs (v10.19.0)
npm (6.14.4)
mysql (Ver 8.0.21)接下来,在development对象config/config.json中更新mysql配置(用户名和密码)。然后使用下列命令将数据导入至数据库中:
cat database/schema+data.sql | mysql -u root -p
安装npm包:
npm install
启动应用程序服务器:
npm start
配置完成后,可以向下列节点发送请求以检测安装状态:
/api/health/check
工具使用
我们已经发布了编译好的APK文件,下载下来之后大家可以通过adb安装或手动安装。安装完成后,我们需要运行这个App,并在主屏幕上添加后端服务器IP地址。
按下“健康检测”按钮之后,即可测试App的运行状态。
接下来,点击“注册”按钮创建一个新账号,然后使用你的凭证登录该账号。
现在,我们就可以看到应用程序仪表盘了,在这里我们可以执行各种各样的操作。
导入至数据库中的数据预包含了一些用户,以帮助广大研究人员快速体验。
应用程序中的漏洞
为了保持简洁和使用方便,我们并没有在应用程序中显式地将漏洞信息显现出来。如果你喜欢有趣且富有挑战性的体验,请自己动手尝试去探索这款应用程序,并找出所有可能地漏洞,然后使用这个列表来检查你所发现的问题。
【剧透警告】
Root和模拟器检测;
反调试检测(防止Frida钩子、JDB等)
SSL绑定-绑定证书/公钥
所有代码混淆处理
加密所有的请求和响应
硬编码敏感信息
Logcat泄露
不安全的数据存储(保存信用card号等等)
网络数据传输
JWT令牌
WebView整合
深层链接
不安全的直接对象引用
工具运行截图
项目地址
Damn-Vulnerable-Bank:【GitHub传送门】
精彩推荐
本文始发于微信公众号(FreeBuf):利用Damn-Vulnerable-Bank学习Android应用程序安全
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论