Вот как я мог ездить бесплатно с Uber

1663534815 vot kak ya mog ezdit besplatno s uber

от AppSecure

1*cK-cejMVQq51oIX9C7M60A

Резюме

В этом сообщении говорится о критической ошибке в Uber, которой могли воспользоваться хакеры, чтобы получить неограниченное количество бесплатных поездок Uber где угодно в мире. Эта публикация также объясняет несколько лучших практик при интеграции платежных шлюзов.

описание

Uber Technologies Inc. – сетевая онлайн-транспортная компания со штаб-квартирой в Сан-Франциско, Калифорния, работающая в 528 городах мира. Пользователи могут создать аккаунт на Uber.com и заказать поездку. По завершении поездки пользователь может заплатить наличными или взыскать средства со своей кредитной/дебетовой карты.

Но, указав недействительный способ оплаты (например, abc, xyz и т.д.), я смог ездить на Uber бесплатно.

Чтобы продемонстрировать ошибку, я получил разрешение от команды Uber и совершил бесплатную поездку по Индии. С меня не было взыскано ни одной из моих поездок из-за использования недействительного способа оплаты.

Уязвимый запрос:

POST /api/dial/v2/requests HTTP/1.1 Хост: dial.uber.com {“start_latitude”:12.925151699999999,”start_longitude”:77.6657536,
“product_id”:”db6779d6-d8da-479f-8ac7–8068f4dade6f”,”payment_method_id”:”xyz”}

Шаги для воспроизведения:

  1. Воспроизведен приведенный выше запрос со случайными символами в виде payment_method_id.
  2. Проезд был бесплатным.

Видео POC:

Спасибо команде Uber Security за быстрое решение проблемы.

Хронология

22 августа 2016: отчет об уязвимости для Uber.

26 августа 2016 г.: Uber спросил больше информации об ошибке.

26 августа 2016 г.: взял бесплатную поездку и ответил с деталями поездки

27 августа 2016 г.: Uber исправила уязвимость.

10 сентября 2016 г.: вознаграждение от Uber в размере 5000 долларов США.

Вынос

Как разработчик, вы всегда должны заботиться о следующих тестовых случаях при интеграции платежей:

a) Проверьте, был ли платеж успешным или неудачным, выполнив запрос между серверами к платежному шлюзу или проверив контрольную сумму поставщику платежного шлюза.

b) Всегда подтверждайте сумму товара суммой, уплаченной пользователем платежному шлюзу.

c) Проверка валюты в вызовах платежного API. К примеру, злоумышленник может заплатить 50 индонезийских рупий за товар стоимостью 50 долларов США.

d) Если вы сохраняете информацию о кредитных/дебетовых картах, всегда проверяйте наличие авторизации, если идентификатор передается в одном из запросов API.

AppSecure является специализированной компанией по кибербезопасности с годами приобретенных навыков и тщательного опыта. Мы здесь, чтобы защитить ваш бизнес и критически важные данные от онлайновых и офлайновых угроз или уязвимостей.

Свяжитесь с нами: hello@appsecure.in

Если статья была полезна, напишите ее в Twitter.

Добавить комментарий

Ваш адрес email не будет опубликован.