Недавно анализировал приложение "SecureBank v2.1" (нашел на GitHub как тренировочный стенд) и обнаружил две критические уязвимости:
1. Insecure Data Storage (SharedPreferences в plain text)
Приложение хранит токены и PIN-коды в /data/data/com.securebank/shared_prefs/config.xml без шифрования. Достаточно иметь root-доступ (или эмулятор с adb shell):
adb shell su cat /data/data/com.securebank/shared_prefs/config.xml
Фикс: Использовать EncryptedSharedPreferences или Keystore.
2. Backdoor-Activity (Скрытый функционал)
В AndroidManifest.xml нашёл активность com.securebank.debug.AdminPanel с правами android:exported="true". Через ADB можно вызвать её без авторизации:
adb shell am start -n com.securebank/.debug.AdminPanel
Открывается панель с сбросом паролей пользователей — классический бэкдор!
Инструменты
-
JADX — для декомпиляции APK.
-
Frida — динамический анализ (перехват
SharedPreferences). -
MobSF — автоматическое сканирование.
Вопрос
Кто-нибудь сталкивался с подобными кейсами в реальных Bug Bounty программах? Интересно, как реагируют компании на такие находки.
