I've recently become obsessed with getting better at pen testing Android apps. So, I would like to start a thread. Post useful tools, #bugbountytips , and tricks you know here! I'll start:
1] You can recompile an APK using "APK-MITM" tool which removes certificate pinning...
This allows you to install the APK to an unrooted device and install a user CA (EG: Burp, MITM proxy, etc.) to intercept the app traffic. Its life changing. Formerly I had used Frida with Nox Emulator but if your app requires physical things (EG: bluetooth), Nox may not work. ..
2] The "apkleaks" program makes a great attempt at farming out secrets and URLs from APKs, but in my experience it misses a bunch. Does anyone know of anything better here that attempts to find URLs, secrets, etc. from the APK to save time?
• • •
Missing some Tweet in this thread? You can try to
force a refresh
When hunting broken access control issues, try this: 1. First use EVERY exposed GUI function available 2. Look for API docs and extract URLs 3. Look for URLs in code 4. Look for URLs in search engines
5. Look for URLs in Wayback Engine 6. Use word lists to fuzz known API paths for additional end points 7. Create two lists of all known object IDs for two different accounts 8. Logged in as account 1, try to access the object IDs of account 2 in all URLs where IDs are used
9. Replay all authenticated requests without the cookies or authorization header present. 10. On high risk endpoints which return PII or sensitive info, try parameter fuzzing to see if IDs are accepted via parameters.