MASTG-Hacking-Playground 全解析:OWASP 官方移动安全漏洞靶场到底能学什么?
【免费下载链接】MASTG-Hacking-Playground项目地址: https://gitcode.com/gh_mirrors/ma/MASTG-Hacking-Playground
如果你正在学习移动应用安全、准备渗透测试实战,或者想搞懂"Android App 里的漏洞到底长什么样",那么MASTG-Hacking-Playground就是你最值得上手的OWASP 官方移动安全漏洞靶场。它是 OWASP 移动应用安全项目(MAS)下的开源教学仓库,故意内置了 iOS 和 Android 应用中真实存在的各类漏洞,为开发者、安全研究者和渗透测试初学者提供了"看得见、摸得着"的练习环境。本文带你完整解析这个移动安全靶场里到底能学到什么。
什么是 MASTG-Hacking-Playground?一份为漏洞而生的移动靶场
MASTG-Hacking-Playground 的核心思路很简单:把 OWASP 移动应用安全测试指南(MASTG)里的测试用例,做成一个个可以直接运行的漏洞 App。仓库里包含三个子项目:
- 📱
Android/MSTG-Android-Java-App:Java 版 Android 漏洞应用,用例最全 - 📱
Android/MASTG-Android-Kotlin-App:Kotlin 版 Android 漏洞应用,侧重 WebView 场景 - 🍎
iOS/MSTG-JWT:Swift 版 iOS 漏洞应用,围绕 JWT 认证与数据存储 - 🖥
Serverside/rails-api-original:配套的 Ruby on Rails 后端接口
所有漏洞用例的命名都遵循 MASTG 编号规则,例如OMTG_DATAST_001、OMTG_NETW_004,练手时可以直接对照官方测试指南学习修复方案,真正做到"边攻边守"。
靶场里能学到什么:数据存储安全实战篇
移动应用最常见的安全问题之一,就是敏感数据被明文或弱加密地保存在本地。这个 Android 漏洞靶场把这类问题打包成了一个专题:
SharedPreferences 明文存储:在 OMTG_DATAST_001_SharedPreferences.java 中,应用直接把administrator / supersecret写进 SharedPreferences。你可以用 root 权限查看/data/data/包名/shared_prefs/下的 XML 文件,亲眼看到密码明文躺在那里——这是移动安全测试中最基础的取证操作。
外部存储泄露:OMTG_DATAST_001_ExternalStorage.java演示了把密码L33tS3cr3t写入外部存储的password.txt,你甚至不需要 root,用adb shell cat /sdcard/password.txt就能读取。
日志信息泄露:OMTG_DATAST_002_Logging.java展示开发者在Log.e里打印用户名和密码。渗透测试时用adb logcat就能抓取这些敏感日志,这也是移动安全测试的必备技能。
内存中的密钥:OMTG_DATAST_011_Memory.java更狠——直接把 AES 加密的原始密钥硬编码在 Java 源码里,反编译 APK 就能提取,完美演示了"加密了但没完全加密"的经典反模式。
WebView 攻击面:从 JS 注入到代码执行
WebView 是移动端的高危攻击面,靶场为此专门设计了多个用例:
不安全的 JS 接口:OMTG_ENV_005_WebView_Remote.java在加载远程网页时开启了setJavaScriptEnabled(true),还通过addJavascriptInterface把原生对象暴露给网页 JS。这意味着恶意网页可以调用原生方法,甚至读取 JS_Interface.kt 中定义的"只有通过 JavaScript 才能拿到的 Secret String"。你可以亲手复现著名的 WebView 远程代码执行漏洞利用过程。
本地文件访问:OMTG_ENV_005_WebView_Local.java则演示了加载本地 HTML 时的文件访问风险,配合unsafe_content.html资产文件,可以练习窃取本地敏感文件的攻击链。
SQL 注入与认证绕过:经典漏洞的移动端复现
移动 App 一样逃不过 SQL 注入。在OMTG_CODING_003_SQL_Injection.java中,登录查询直接拼接用户输入:
SELECT * FROM Accounts WHERE Username = '...' and Password = '...';你在输入框填入' OR 1=1 --这样的经典 payload 就能直接绕过登录,近距离感受注入漏洞在移动端的具体危害,同时对比OMTG_CODING_003_Best_Practice.java中的参数化查询写法。
iOS 靶场 MSTG-JWT:从 Keychain 到 JWT 令牌
iOS 侧的靶场同样干货满满:
- 数据存储三件套:CreateSensitiveData.swift 一次性演示了 Keychain、Core Data、plist 三种存储方式的错误用法,密码
test1234直接明文躺在 Core Data 里,debug.plist则存着调试账号密码。 - JWT 令牌安全:应用包含完整的登录、待办事项、个人资料流程,你可以练习截获 JWT、篡改令牌、伪造签名等移动 API 认证攻击。
- WebView 配置:
WebViewController.swift展示了 WKWebView 的危险配置项,配合项目里的hack.html练习 iOS 端 WebView 攻击。
最快搭建方法:3 步跑起移动安全靶场
想立刻上手?流程非常简单:
第一步:克隆仓库,执行git clone https://gitcode.com/gh_mirrors/ma/MASTG-Hacking-Playground。
第二步:安装 APK。仓库已内置编译好的安装包,连接设备后直接安装:
adb install Android/MSTG-Android-Java-App/app/app-x86-debug.apk第三步:打开 App 逐个练习。想改代码自己折腾,就用 Android Studio 打开Android/MSTG-Android-Java-App/或Android/MSTG-Android-Kotlin-App/目录重新编译;iOS 端用 Xcode 打开MSTG-JWT.xcworkspace即可。注意 Kotlin App 和 iOS App 需要先启动配套的 Rails 后端才能完整运行。
谁适合这个移动安全靶场?学习路线建议
- 🌱安全初学者:无需搭建复杂环境,装个 APK 就能开始,配合 MASTG 指南边看边练
- 💻移动开发者:通过查看漏洞源码,直观理解不安全写法带来的真实危害
- 🔍渗透测试工程师:练习使用 logcat、反编译、Hook 等移动安全测试工具的实操场景
- 🎓讲师与培训师:官方建议将本靶场直接用于移动安全课程的实战教学
一句话总结:MASTG-Hacking-Playground 是 OWASP 官方送给移动安全学习者的"漏洞百科全书",从 Android 数据存储到 iOS JWT 认证一应俱全。与其在文档里背漏洞类型,不如装一个靶场亲手打一遍——这大概就是学习移动应用安全测试最快的路径。
【免费下载链接】MASTG-Hacking-Playground项目地址: https://gitcode.com/gh_mirrors/ma/MASTG-Hacking-Playground
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考