cognis-digital/dvmobile
GitHub: cognis-digital/dvmobile
Damn Vulnerable Mobile 是一个自包含的移动端安全培训靶场,提供 OWASP MASVS 映射的漏洞挑战、分析文章和 flag 记分板,帮助学习者在实践中掌握移动端 API 安全攻防技能。
Stars: 0 | Forks: 0
# dvmobile — Damn Vulnerable Mobile
**一个独立且包含有意安全漏洞的移动端后端实验环境,专用于安全培训。**
`dvmobile` 提供了一个故意设计为不安全的 API、一系列有文档记录的
移动端/API 安全挑战(映射至 **OWASP MASVS**),以及一个基于 flag 的
记分板。启动它,发起攻击,捕获 flag,阅读分析文章以了解
正确的修复方案。采用纯标准库构建 —— **无需安装任何依赖,也不需要 Docker。**
## 快速开始
```
pip install -e .
# 查看挑战
dvmobile challenges --hints
# 运行漏洞靶场
dvmobile serve --port 8000
# ...攻击它(参见 challenges/),然后提交 flag
dvmobile submit idor-profile 'DVM{...}'
dvmobile score
```
## 挑战
| id | MASVS | 难度 | 漏洞 |
|----|-------|-----------|------|
| `idor-profile` | MASVS-AUTH-1 | easy | IDOR —— 读取其他用户的资料 |
| `config-leak` | MASVS-STORAGE-1 | easy | 密钥在客户端引导配置中泄露 |
| `jwt-none` | MASVS-AUTH-2 | medium | `alg=none` / 未经验证的 JWT → 接管管理员权限 |
| `weak-pin` | MASVS-AUTH-3 | medium | 无频率限制的 4 位 PIN 码暴力破解 |
每项挑战在 [`challenges/`](challenges/) 目录下都有包含漏洞利用和修复方案的完整分析文章。
## 为什么它是可测试的
服务器的请求处理逻辑是一个纯函数 (`dvmobile.vulnserver.handle`),因此
内置的测试套件*实际上*是一组参考漏洞利用方案 —— 每个测试都会以预期的方式恢复
flag 并提交。`pytest` 通过意味着实验环境和
分析文章保持一致。
```
pip install -e ".[dev]" && python -m pytest -q
```
## 作为教学工具使用
- 自学:`serve`(启动服务),发起攻击,`submit`(提交 flag),将你的修复方案与分析文章进行比较。
- 研讨会/CTF:分发此代码仓库,使用共享的面板文件进行记分。
- 与同一套件中的 [`apkprobe`](../apkprobe)(静态分析)和
[`rootsentry`](../rootsentry)(runtime 完整性检测)配合使用效果更佳。
## 许可证
Cognis Open Collaboration License (COCL) v1.0。详情请参阅 [LICENSE](LICENSE)。
标签:API安全, JSON输出, Python, 安全规则引擎, 安全靶场, 无后门, 目录枚举, 移动安全, 逆向工具