By Het Mehta | Published: 2025-04-04 | Last Updated: 3/27/2026
Disclaimer
Performing penetration testing without explicit, written permission from the application owner is illegal and unethical. This content is provided for educational purposes only.
This checklist provides a structured approach to Android application penetration testing, covering key phases from reconnaissance to detailed analysis. It heavily references the essential OWASP MAS resources:
Ensure you have the necessary tools and environment:
adb, apktool, APKiD.jadx-gui, apktool, MobSF, Semgrep, APKiD.# Check signing scheme
apksigner verify --print-certs --verbose app.apk apksigner, apktool.AndroidManifest.xml: res/) & Code: grep/rg, Manual Review.lib/): strings, nm.adb, Burp/ZAP, Frida, Objection, Magisk modules.adb, SQLite Browser, File Explorer, Frida (hooking).adb, Drozer, Frida.--ez isAdmin true), Provider SQLi (' UNION SELECT...), Provider Path (content://.../../../../../etc/hosts), Deep link open redirect (myapp://webview?url=https://evil.com).# Launch an exported activity with an extra
adb shell am start -n com.victim.app/.SecretActivity -e user_id 1337
# Trigger a deep link
adb shell am start -a android.intent.action.VIEW \
-d "myapp://reset?token=INJECT&redirect=https://evil.com" \
com.victim.app <img src="x" onerror="alert('1337')">),
JS Interface (javascript:AndroidInterface.stealData()).
// Calling exposed Java method from WebView JS context
javascript:prompt(AndroidBridge.getApiKey())
// File read via setAllowUniversalAccessFromFileURLs
// Load attacker page -> XHR to file:///data/data/com.victim.app/shared_prefs/creds.xml sqlmap, SecLists.# Testing for IDOR/BOLA
GET /api/v1/users/123/profile HTTP/1.1 --> Change 123 to another user's ID
Host: api.victim.com
Authorization: Bearer <valid_token_for_user_123>
... This checklist provides a solid foundation. Remember to adapt your testing based on the specific application and stay updated with OWASP MAS resources (MASVS, MASTG, MASWE) and new techniques. The mobile threat landscape evolves quickly — particularly around Play Integrity bypass, overlay/accessibility abuse, and cross-platform framework-specific attack surfaces.