关于Damn-Vulnerable-Bank
Damn-Vulnerable-Bank这款Android端应用程序,旨在提供一个接口以帮助广大研究人员都能详细了解Android应用程序的内部细节和安全情况。
注册 登录 个人资料 修改密码 设置接口(更新后端URL) 添加指纹检测(在转账/查看资金之前) 添加PIN码检测(在转账/查看资金之前) 查看余额 资金转账(手动输入) 添加收款人 查看收款人 查看转账记录
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/rewanth1997/Damn-Vulnerable-Bank.git将项目代码克隆至本地之后,接下来,我们还需要安装后端服务器。应用程序需要开启一台API服务器,主要负责处理来自Android应用程序的请求。
cd BackendServer
docker-compose up --build
curl <IP>:<magic_port>/api/health/check安装依赖:
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传送门】
