Search
Write a publication
Pull to refresh
9
0
Mikhail Kozlov @Mmishak

Android-developer

Send message
Мне потребовалось около получаса чтобы понять, но, кажется, я смог!
Попытаюсь объяснить…

Есть вот такой код:
fun String.someExtension() {}

val string = "some string".someExtension()

println(string)

Тут вроде всё понятно, вызываем экстеншн-функцию, она возвращает kotlin.Unit, печатаем kotlin.Unit

Теперь магия! Берем и объявление someExtension подставляем прямо в место вызова, но название экстеншн-функции после «String.» убираем, она становится анонимной:
val string = "some string".fun String.() {}()

println(string)

Эффект тот же — kotlin.Unit

Теперь осталось String заменить на Function<*> из паззлера и смысл паззлера станет понятен.
Возможно часть проблемы кроется в этом

В случае оболочки у нас нет рута, но информация третьим лицам попасть может (багрепорт, бекап и т.п.) Во всяком случае, повторюсь, не стоит оставлять дверь открытой, если у потенциального вора есть отмычка.

Вы, как разработчик, не можете гарантировать, что этот лог не будет прочитан и сохранен сторонним приложением (при наличии рута) или оболочкой вроде MIUI.

Так то это системный logcat, и там я как раз и обнаружил, пройдясь по приложению, указанную информацию

Да, по сути это так, но это не означает, что нужно оставлять дверь открытой, если у вора есть отмычка

Побродив по сайту Билайна в режиме разработчика Google Chrome не обнаружил нигде в логах заботливо сохраненной информации о моих услугах и детализации звонков.
В твиттере попросили скинуть в директ подробную информацию и, видимо, «создали заявку»
Спасибо, я учту в будущем. Подход в некоторых аспектах действительно странный… Например, там очень (ну очень) много запросов идет, чтобы получить локализованное словосочетание (вроде «Оплата услуг мобильной коммерции») для определенного языка. Думаю, из-за этого у них постоянно прогресс-бар в приложении маячит.

Вот пример



Да, действительно, забыл туда заглянуть (правда не совсем понятно, кто именно за ним прячется)

Стоит также отметить что в самом приложении есть кнопка «Сообщить об ошибке» и она ведет на упомянутый в посте ответ@билайн.ру
Да, я понимаю, что это не тянет на настоящую уязвимость, и что получить доступ к системным логам стороннему приложению весьма проблематично. Но осознание того, что информация о моем балансе, услугах, переписке с оператором и, что самое важное, детализация звонков будет сохранена в каких-то файлах, которые могут отправиться третьим лицам, заставляет насторожиться.

Плюс если к этой неосторожности добавится еще какая-нибудь (не подозревая о проблеме с первой), то в логах может появиться больше интересных вещей. Я согласен, что это лишь теория, но такое отношение со стороны разработчика мне кажется неприемлемым.
Если хотите, можете рассматривать текст под последним спойлером, как goto к диалогу с ботом :)
Да, я согласен, что прямой и опасной уязвимостью это не является, но обнаружение таких подробностей в логах релизной сборки для меня стало большой неожиданностью.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity