TGViewer
Петр про Android и IT Петр про Android и IT @peter_about_it · 369 subscribers
Post #35 454
Разработчики vs Мерчендайзеры или “Петя, нас взломали!”

Однажды утром когда я еще спал, у меня зазвонил телефон📱 Звонил директор стартапа, в котором я работал и кричал о том, что наше приложение взломали😬

Стартап занимался контролем работы мерчендайзеров. Кто не знает, это люди, которые расставляют товары в продуктовых магазинах. Часто они работают не на сам магазин, а на какую-то компанию, которая выставляет товар. Их работа заключается в том, чтобы проехать по разным магазинам, проверить остатки товара, убедиться что он присутвует на полке, проверить сроки годности. Работа низкооплачиваемая с оочень большой текучкой. Кроме этого существует проблема что некоторые мерчи совсем не ходят в магазины, полки стоят без товара, покупатели не могут его купить, и компания теряет деньги. Люди знакомые с этой проблемой придумали стартап, решающий эту проблему - мерчендайзер должен с помощью Android/iOS приложения заполнить отчет о своей работе(анкета, фото), находясь в магазине(трекается по gps) и отправить его на сервер. За каждый отчет он получает оплату. У стартапа появились очень крупные компании-клиенты, у которых были тысячи мерчендайзеров по РФ и началось взаимодействие. Но некоторым мерчендайзерам очень не нравилось, что им теперь нужно было работать и они начали действовать…😁

🥷ROUND 1

Первое что они придумали - использовать fake gps, Android-приложение которое используя тестовое разрешение подменяет настоящий GPS и позволяет им заполнять отчет не находясь в близости от магазина. Против этого было придумано аккуратное решение - мы начали смотреть установлены ли на смартфоне подобные приложения, включена ли настройка позволяющая делать подмену GPS, если да - то помечали отчет как подозрительный и требующий дополнительную проверку.

🥷ROUND 2

Следующее действие нехороших мерчендайзеров было направлено на фотографии. В нашем приложении вызывалось стандартное внешнее приложение камеры, которое возвращало путь к фотографии и она прикреплялась к отчету. Как оказалось, существуют приложения в Google Play, которые перехватывают intent вызова камеры и позволяют вместо настоящей фото выбрать фото из галереи. Используя их, мерчендайзеры каждый день могли отправлять одни и те же фотографии, не расходуя свои силы на работу. Было принято решение перестать вызывать внешнее приложение камеры и вместо этого сделать работу с камерой, встроенной в приложение. Преодолев сложности Camera API, мы закрыли эту уязвимость.

🥷ROUND 3. Финальная битва

Ничего не предвещало беды, но когда выложили приложение со встроенной камерой, вдруг стали прилетать в отчетах непонятные фотки (прикрепил похожую в первый комментарий). Иногда они были черные, иногда красные и сложно было понять с чем это связано. Директор ругался на то, что встроенная камера плохо работает, разработчики грустили, но в какой-то момент сквозь красный фон стали быть видны отпечатки. Как оказалось, мерчендайзеры во время сьъемки прикрывали камеру пальцем(получался красный фон) или засовывали телефон в карман (черный), а на вопрос почему получилось такое фото сваливали на некорректную работу приложения.

Вместо итога, пару коротких выводов:
1) для любого сервиса / приложения важно уделять внимание вопросам безопасности и анализировать действия пользователей👨‍💻
2) иногда разработчик должен превратиться в детектива🕵️‍♀️

Расскажите были ли у вас случаи, когда пользователи пытались использовать уязвимости сервиса)
  • 🔥 7
  • 👨‍💻 2
  • 😱 1
More from @peter_about_it
  1. Feb 28, 2025Софтовые вопросы на интервью 🙂 Часто когда человек идет на софтовую секцию без подготовки…
  2. Feb 7, 2025Итоги января 💥💥💥 Давно не виделись, как вы?👋 У меня начало года выдалось максимально с…
  3. Dec 30, 2024Итоги года 🎄 2024 подходит к концу, пора подвести итоги. Год был неоднозначный, но во мно…
  4. Dec 20, 2024Неочевидные вопросы с собесов Технические пост про вопросы, которые были на недавних собес…
  5. Nov 15, 2024Что делает резюме непривлекательным Резюме - первое звено в конверсии поиска работы и оно…
  6. Nov 5, 2024Как улучшить прохождение скринингов Для начала немного разберем внутрянку скрининга ⬇️⬇️⬇️…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →