MASTG-Hacking-Playground 部署指南:用 Docker 一键跑通 Rails 后端 API 的完整教程 📅 发布时间:2026/8/21 13:52:29 👁 浏览次数: MASTG-Hacking-Playground 部署指南用 Docker 一键跑通 Rails 后端 API 的完整教程【免费下载链接】MASTG-Hacking-Playground项目地址: https://gitcode.com/gh_mirrors/ma/MASTG-Hacking-PlaygroundMASTG-Hacking-Playground 是 OWASP 移动应用安全项目MAS官方出品的安全测试练习场里面内置了多款故意留漏洞的 Android 与 iOS 应用专供开发者、安全研究人员和渗透测试人员练手。不过很多人第一次上手就卡在第一步配套的 Rails 后端 API 怎么部署别担心本部署指南将手把手教你用 Docker 一键跑通这个 JWT 认证的 REST API 后端让 App 与后端完美联动快速进入漏洞测试环节。一、MASTG-Hacking-Playground 是什么简单说它就是一个移动安全靶场提供 Java 与 Kotlin 两套Android 漏洞应用覆盖 WebView 注入、SQL 注入、不安全存储、日志泄露等 MASTG 测试用例提供 Swift 编写的iOS 漏洞应用MSTG-JWT用于练习 JWT 令牌相关的安全测试附带一个基于Ruby on Rails 的 REST API 后端为 App 提供登录、注册、Todo 列表等接口是练习客户端-服务端完整安全链路的关键一环。可以看到应用把 OMTG 系列测试用例做成了菜单点进去就能对每一项漏洞进行实战验证非常适合培训、演练和自我提升。二、Rails 后端 API 藏在哪个目录克隆项目后后端代码位于Serverside/rails-api-original/目录核心文件包括Dockerfile官方提供的容器化构建脚本基于alpine:3.6内置 Ruby、SQLite 与 Rails 依赖config/routes.rb定义全部 API 路由包括signup、auth/login以及 todos/items 资源app/controllers/注册、登录、Todo CRUD 等控制器实现app/auth/AuthenticateUser与AuthorizeApiRequest两个服务类负责 JWT 签发与鉴权。这套后端采用JWT 无状态认证用户注册或登录后拿到auth_token后续请求在Authorization请求头中携带即可非常适合用来学习移动端 API 安全。三、部署前准备环境要求 ✅在开始 Docker 部署之前请先确认本机满足以下条件已安装 Docker社区版即可并确保 Docker 守护进程正常运行系统需支持 Linux 容器macOS 建议使用 Docker Desktop无需预装 Ruby 或 Rails——这正是使用 Docker 的最大好处所有依赖都在镜像内自动完成本机保留 3000 端口可用或使用映射端口。如果你打算在本机直接运行不通过 Docker则需按官方说明安装ruby、ruby-bundler、build-essential、libsqlite3-dev等依赖且 Ruby 版本建议 2.5 左右、Rails 5.1.4。强烈推荐走 Docker 路线省时省力。四、Docker 一键部署最快的构建启动方法 进入后端目录并执行构建命令$ cd Serverside/rails-api-original $ docker build -t rails-api .构建过程会自动拉取alpine:3.6基础镜像安装 Ruby、SQLite 及项目 Gem 依赖耐心等待完成即可。构建成功后启动容器$ docker run -p 80:3000 rails-api这里把容器的 3000 端口映射到本机 80 端口也可改成-p 3000:3000。启动后打开浏览器访问http://127.0.0.1看到 Rails 默认欢迎页就说明Rails 后端 API 已经跑通了五、验证 API注册账号并获取 JWT 令牌 后端就绪后先用注册接口创建一个测试账号$ curl -X POST http://127.0.0.1/signup \ -H Content-Type: application/json \ -d {name:test,email:testemail.com,password:foobar}成功后会返回 JSON 格式的auth_token与提示信息例如{ auth_token: eyJhbGciOiJIUzI1NiJ9.xxx.yyy, message: Account created successfully }拿到令牌后即可调用登录接口获取新令牌并用它访问受保护的资源。JWT 的签发逻辑封装在app/auth/authenticate_user.rb中配合config/routes.rb中定义的/auth/login路由构成了完整的认证闭环。六、测试 REST API 接口Todo 增删改查 有了令牌就能测试 Todo 的 CRUD 接口了。以下命令中的your_token请替换为真实令牌# 创建 Todo $ curl -X POST http://127.0.0.1/todos \ -H Authorization: your_token \ -H Content-Type: application/json \ -d {title:My first todo} # 查询 Todo 列表 $ curl http://127.0.0.1/todos -H Authorization: your_token # 更新 Todo $ curl -X PUT http://127.0.0.1/todos/1 \ -H Authorization: your_token \ -d {title:Updated title} # 删除 Todo $ curl -X DELETE http://127.0.0.1/todos/1 -H Authorization: your_tokenTodo 下还支持嵌套的 Items 接口/todos/:id/items用于测试更复杂的资源关系。所有接口均需携带令牌未携带或令牌非法时会返回 401/422 等错误响应——这正是学习 JWT 鉴权漏洞的好素材。七、让移动应用连上你的后端 后端跑通后Android Kotlin 应用与 iOS 应用都依赖这个 API。以 iOS 的MSTG-JWT项目为例登录地址定义在LoginViewController.swift中let URL_USER_LOGIN http://127.0.0.1/auth/login只需把地址改成你本机的后端地址模拟器可直连宿主机 127.0.0.1即可让 App 完成登录并进入后续漏洞测试流程。Android 侧同理在对应网络请求代码中修改 Base URL 即可。八、常见问题与故障排查 1. 构建时提示网络超时多为拉取基础镜像或 Gem 依赖失败可配置 Docker 镜像加速器后重试。2. 端口被占用docker run报端口冲突时换用-p 3001:3000等未占用端口并同步修改 App 的访问地址。3. 访问 80 端口无响应检查 Docker 容器是否正常运行docker ps若容器已退出用docker logs查看启动日志定位错误。4. 注册接口返回 422多为参数缺失请确认请求体包含name、email、password三个必填字段。总结通过本文的部署指南你已经用 Docker 在几分钟内完整跑通了 MASTG-Hacking-Playground 的Rails 后端 API掌握了注册、登录、JWT 鉴权与 Todo 接口测试的完整流程。接下来就可以让 Android/iOS 靶机应用连接后端逐项验证 WebView 注入、不安全存储、JWT 篡改等经典移动安全漏洞了。动手试试吧越练越熟【免费下载链接】MASTG-Hacking-Playground项目地址: https://gitcode.com/gh_mirrors/ma/MASTG-Hacking-Playground创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考