{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Я нашел способ отследить всех водителей «Ситимобила»

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

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

С чего все началось?

Да, я действительно сидел и смотрел трафик с телефона. Дело в том, что я инженер и постоянно изучаю, как работают технологии и разные вещи вокруг меня. Так было и в этот раз.

Я нашел уязвимость и написал в Mail.ru Group. Буквально через 3 минуты мне ответили, что эти данные открытые и их не нужно защищать.

Ну раз так, давайте развлекаться!

Анализируем «Ситимобил»

Я написал алгоритм, который за пару десятков секунд собирает информацию о всех таксистах «Ситимобил», которые сейчас на линии в Москве и Московской области. Вот как он работает:

О технических деталях я подробнее говорю в статье на «Хабре», а пока давайте сосредоточимся на результатах.

Думаете, сколько водителей на линии в воскресенье утром?

4374
таксистов «Ситимобил» на линии в Москве в 11:00 в воскресенье

Но разве нас интересует срез? Давайте посмотрим в динамике.

Найс. А как эти водители распределены в пространстве?

Ну и напоследок давайте проследим за каким-нибудь водителем.

Вот, видно маршрут. А ведь можно еще поднять частоту опроса и получить более точные данные.

И что такого?

А то, что данные вроде как важные.

Во-первых, можно оценить долю рынка и доходность компании «Ситимобил».

Во-вторых, на месте другого агрегатора (например, «Яндекс.Такси») я бы использовал данные о положении таксистов конкурентов. Для ценообразования, например. Или вычислил водителей, работающих и там и там, на основе корреляций в геопозициях.

В-третьих, раз можно отследить конкретного таксиста, можно отследить и его клиента. Это уже серьёзно. По факту можно узнать, куда уехал человек на «Ситимобиле», если вы знаете, где он сел в такси.

Заключение

Не нужно недооценивать важность данных, которые показываются клиенту.

Если Mail.ru Group все еще считает, что эту информацию не нужно защищать, то «Яндекс.Такси», вот вам гора данных. С её помощью вы сможете забрать часть прибыли «Ситимобила».

Если же Mail.ru Group признаёт, что данные чувствительные, и закрывает к ним доступ, то будет честно выплатить вознаграждение по bug bounty.

Как, думаете, ещё можно использовать данные о таксистах?

Спасибо, что дочитали! Надеюсь, вам было интересно.
Успехов!

0
177 комментариев
Написать комментарий...
Igor Gusev

Сергей, а каким сниффером пользовался?
Чот проблема в последнее время https запросы посмотреть нормально

Ответить
Развернуть ветку
Сергей Крупник
Автор

mitmproxy - подробнее про техническую часть написал на Хабре: https://habr.com/ru/post/480956/

Ответить
Развернуть ветку
Denis Krivonosov

Сергей, спасибо за вашу статью. Было крайне интересно прочитать. Аж дважды (здесь и на хабре). Понимаю, что к самой проблеме (багбаунти программ,открытых данных, и способах эти данные защитить) мой комментарий не относится, но все же, не могли бы вы более подробно объяснить техническую часть. Тоже, порой, интересует как что устроенно, но соображалка не всегда работает в нужном направлении. Проблема с парсом https пакетов с андроид устройств из приложений. Ведь начиная с Андроид устройств версии 8.0+, насколько я понимаю, трюк с подменой сертификата на устройстве не работает, если явно не указать в манифесте самого приложения, что таким сертификатам можно доверять (Статья для примера https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html) Если вы расскажете, хотя бы вкратце, как вы обходите данное ограничение, буду очень признателен
P.S. Интересуюсь,если что, только в научных целях.

Ответить
Развернуть ветку
Сергей Крупник
Автор

Смотрел трафик с айфона)

Ответить
Развернуть ветку
Denis Krivonosov

Понял, спасибо за ваш ответ, попробую с айфона)

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
174 комментария
Раскрывать всегда