Комментарии 7
Я не очень большой спец по андроиду, но в случае с receiver у вас в коде написано android:exported="false"
Разве неэкспортируемые receiver'ы тоже уязвимы?
Все верно, receiver действительно не экспортирован и отправлять ему широковещательные сообщения нельзя. Но смысл эксплуатации этой уязвимости не в том, чтобы атаковать непосредственно receiver через механизм IPC (для чего как раз нужно иметь android:exported="true"
), а в том, что приложение не осуществляет должного контроля аутентификации при взаимодействии с виджетом.
И, получается, даже неэкспортируемый виджет можно добавить на рабочий стол?
Да. И официальная документация это подтверждает. Да и в целом receiver нужен фактически для внутреннего пользования, чтобы получать сообщения от виджета. Экспортировать этот receiver для всех остальных не требуется. О чем также говорит официльная документация:
The
<receiver>
element requires theandroid:name
attribute, which
specifies theAppWidgetProvider
used by the widget. The component should not
be exported unless a separate process needs to broadcast to your
AppWidgetProvider
, which is usually not the case.
А как задетектить такую ошибку "Отправка запросов до ввода PIN-кода"?
Можно без анпининга просто весь трафих через прокси посылать и просматривать?
Если есть пиннинг, то его нужно снимать чтобы отловить эту ошибку. Впрочем, если речь идет о тестировании QA командой, то это легко ловится на QA сборках с отключенным пиннингом. Просто запускаем приложение и смотрим улетают ли какие-то запросы на сервер до фактической аутентификации по пин-коду/биометрии.
Какие баги мы заложили в мобильный банк на PHDays 12: разбор конкурса $NATCH