Приложение старбакс. Бонусная карта Starbucks

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

Итак, не так давно мне в голову пришла идея купить 3 карты Старбакса по $5 каждая.


На сайте starbucks.com есть личный кабинет, где можно добавить эти карты, смотреть баланс и даже переводить деньги между картами.

Есть такой малоизвестный класс уязвимостей «race condition» . Могу с уверенностью заявить, что большинство приложений, которые могут быть уязвимы, к этой атаке скорее всего уязвимы, ведь далеко не каждый программист при проектировке программ учитывает такие факторы, как параллельность выполнения кода и его последствия.

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

Перевод строился из нескольких stateful запросов. Схематично - первый запрос POST /step1?amount=1&from=wallet1&to=wallet2 закладывал все эти значения в сессию на сервере, и лишь второй POST/step2?confirm переводил данные уже заложенные в сессии и очищал ее.

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

Но всегда есть обход для таких «полу защит» - можно залогиниться в один и тот же аккаунт с двух разных браузеров / сессий. Тогда эксплуатация выглядит приблизительно так:

#закладываем параметры перевода в обе сессии
curl starbucks/step1 -H «Cookie: session=session1» --data «amount=1&from=wallet1&to=wallet2»
curl starbucks/step1 -H «Cookie: session=session2» --data «amount=1&from=wallet1&to=wallet2»
#одновременное одобрение перевода $1 с карты 1 на карту 2.
curl starbucks/step2?confirm -H «Cookie: session=session1» & curl starbucks/step2?confirm -H «Cookie: session=session2» &

После 5 попыток ничего интересного не произошло и я хотел уже было сдаться. Особенность состояния гонки в том, что ее можно лишь попытаться найти стороннему атакующему, ведь неизвестно, какие защиты стоят (число запросов по IP? запросов на аккаунт? запросов на действие?) и единственный способ проверить уязвимы ли вы - это тщательно проаудировать исходный код на наличие должных пессимистических локов в базе данных.

На 6-ой запрос произошло чудо - перевод был произведен два раза и у меня стало две карты с 15 и 5 долларами, 20 в сумме. Чтобы считать это за proof of concept, осталось убедиться, что магазин примет эти карты.

Я пошел в ближайший работающий Cтарбакс на market st.

Дайте мне чего-нибудь на $16.
- O_o.
- Ну что у вас самое дорогое?
- Вон те сэндвичи.

Вышло $16.70.

Итак, в нашу маленькую операцию Ы было инвестировано 15 долларов, а закупок сделано на 16.70. Зная отношение самого гуманного суда США к хакерам, я вернувшись домой, сразу зачислил еще $10 с кредитки на карту Старбакса, чтобы не быть должным корпорации целых $1.70, мало ли.

Дальше самое сложное - процесс репорта. Саппорт честно ответил, что не может связать меня с технической командой, ну вообще никак, и им очень жаль, что я feel this way. Написал на [email protected] 23 марта, тишина (ответили, кстати, аж 29 апреля). Пришлось через знакомых знакомых находить людей, которым не все равно и лишь через 10 дней уязвимость была исправлена.

Спасибо никто не сказал, зато был сделан не двусмысленный намек, что я совершил «fraud» и «malicious actions» и что они еще подумают, что со мной сделать.

А что мог сделать я? Я мог запустить ферму из фейковых гифт-карт, купленных в разных магазинах мира, нагенерить на них кучу денег и продавать на специальных промо сайтах с 50 процентной скидкой (чтобы не вызывать подозрения) за биткоины. Так, проработав год-другой, можно было бы высосать пару миллионов долларов из этой дружелюбной фирмы со сладким кофе.

21 мая 2015 в 12:01

Как я взломал Starbucks для безлимитного кофе

  • Информационная безопасность ,
  • Разработка веб-сайтов

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

Итак, не так давно мне в голову пришла идея купить 3 карты Старбакса по $5 каждая.


На сайте starbucks.com есть личный кабинет, где можно добавить эти карты, смотреть баланс и даже переводить деньги между картами.

Есть такой малоизвестный класс уязвимостей «race condition» . Могу с уверенностью заявить, что большинство приложений, которые могут быть уязвимы, к этой атаке скорее всего уязвимы, ведь далеко не каждый программист при проектировке программ учитывает такие факторы, как параллельность выполнения кода и его последствия.

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

Перевод строился из нескольких stateful запросов. Схематично - первый запрос POST /step1?amount=1&from=wallet1&to=wallet2 закладывал все эти значения в сессию на сервере, и лишь второй POST/step2?confirm переводил данные уже заложенные в сессии и очищал ее.

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

Но всегда есть обход для таких «полу защит» - можно залогиниться в один и тот же аккаунт с двух разных браузеров / сессий. Тогда эксплуатация выглядит приблизительно так:

#закладываем параметры перевода в обе сессии
curl starbucks/step1 -H «Cookie: session=session1» --data «amount=1&from=wallet1&to=wallet2»
curl starbucks/step1 -H «Cookie: session=session2» --data «amount=1&from=wallet1&to=wallet2»
#одновременное одобрение перевода $1 с карты 1 на карту 2.
curl starbucks/step2?confirm -H «Cookie: session=session1» & curl starbucks/step2?confirm -H «Cookie: session=session2» &

После 5 попыток ничего интересного не произошло и я хотел уже было сдаться. Особенность состояния гонки в том, что ее можно лишь попытаться найти стороннему атакующему, ведь неизвестно, какие защиты стоят (число запросов по IP? запросов на аккаунт? запросов на действие?) и единственный способ проверить уязвимы ли вы - это тщательно проаудировать исходный код на наличие должных пессимистических локов в базе данных.

На 6-ой запрос произошло чудо - перевод был произведен два раза и у меня стало две карты с 15 и 5 долларами, 20 в сумме. Чтобы считать это за proof of concept, осталось убедиться, что магазин примет эти карты.

Я пошел в ближайший работающий Cтарбакс на market st.

Дайте мне чего-нибудь на $16.
- O_o.
- Ну что у вас самое дорогое?
- Вон те сэндвичи.

Вышло $16.70.

Итак, в нашу маленькую операцию Ы было инвестировано 15 долларов, а закупок сделано на 16.70. Зная отношение самого гуманного суда США к хакерам, я вернувшись домой, сразу зачислил еще $10 с кредитки на карту Старбакса, чтобы не быть должным корпорации целых $1.70, мало ли.

Дальше самое сложное - процесс репорта. Саппорт честно ответил, что не может связать меня с технической командой, ну вообще никак, и им очень жаль, что я feel this way. Написал на [email protected] 23 марта, тишина (ответили, кстати, аж 29 апреля). Пришлось через знакомых знакомых находить людей, которым не все равно и лишь через 10 дней уязвимость была исправлена.

Спасибо никто не сказал, зато был сделан не двусмысленный намек, что я совершил «fraud» и «malicious actions» и что они еще подумают, что со мной сделать.

А что мог сделать я? Я мог запустить ферму из фейковых гифт-карт, купленных в разных магазинах мира, нагенерить на них кучу денег и продавать на специальных промо сайтах с 50 процентной скидкой (чтобы не вызывать подозрения) за биткоины. Так, проработав год-другой, можно было бы высосать пару миллионов долларов из этой дружелюбной фирмы со сладким кофе.

Наличие Карты Старбакс – настоящий орден ценителя кофе. Отличительный знак, который, к тому же, делает жизнь лучше. Компания Старбакс создала свою внутреннюю валюту Stars (Звезды), получая и накапливая которые Участники Программы могут обменять их на бонусы в кофейнях Старбакс.

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

Получить карту в физическом виде вы можете в любом кафе сети, самостоятельно выбрав понравившийся дизайн и сразу пополнив баланс на сумму от 500 до 10 000 рублей для совершения дальнейших покупок. Также можно купить онлайн карту СтарбаксeGifts на сайте http://starbuckscoffee.ru/ru/.

Как зарегистрировать карту Старбакс?

Регистрация карты Старбакс превращает ее из просто удобного платежного средства в генератор подарков и бонусов.

Для получения доступа к ним вы можете воспользоваться одним из способов:

Шаг 1. Перейти на сайт http://starbuckscoffee.ru/ru/


Шаг 2. Создать личный аккаунт, следуя подробным инструкциям


Шаг 3. Зарегистрировать Карту Старбакс или СтарбаксeGifts на сайте.

  1. Скачать мобильное Приложение Старбакс.
  2. Создать аккаунт.
  3. Зарегистрировать Карту Старбакс или СтарбаксeGifts в Приложении.


Уровни карты Старбакс

Количество подарков и бонусов от Старбакс полностью зависит от активности Участника Программы и его любви к кофейным напиткам. После каждой совершенной покупки карте присваивается одна Звезда (Stars).

Чем больше Звезд, тем выше статус карты.

Зеленый уровень

Зеленый уровень карты присваивается участнику сразу после приобретения карты и для его поддержания необходимо совершать хотя бы одну покупку в течение года после регистрации карты на starbuckscoffeeru. Если за это время баланс карты не пополнялся звездами, привилегии Зеленого уровня замораживаются.

Золотой уровень

На Золотой уровень можно перейти с Зеленого уровня после получения 30 звезд за год.


Особенности карты Старбакс

Баланс Карты надежно защищен от воровства и подлежит восстановлению в случае потери. Такая Карта может стать отличным подарком с узнаваемым дизайном «Бумажные сердца» или «Лето».

Также зарегистрировать карту Starbucks означает получить доступ ко всем транзакциям, проверке баланса прямо с мобильного устройства, отслеживание бонусной активности и привилегий.

Привилегии Зеленого уровня

Привилегии Золотого уровня

  1. Возможность получать за каждые новые 12 звезд любой напиток или одно блюдо, за исключением целых тортов.
  2. Любой напиток или блюдо, за исключением целых тортов в качестве подарка на ваш День рождения.
  3. Обновленный дизайн в золотом цвете.
  4. Участие в специальных предложениях, которые распространяются через смс или e-mail рассылку.

Как пользоваться мобильным приложением Starbucks?

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

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

Кофейни Starbucks - это популярное место отдыха и встреч любителей качественного кофе и непринужденной атмосферы. Когда-то компания начинала с продажи зерен фирменной обжарки, а теперь открывает заведения, где каждый посетитель может не только отведать вкусный кофейный напиток, но и позавтракать или перекусить, а также приобрести профессиональную аппаратуру для варки кофе и брендовые аксессуары для сервировки. Представители компании в России заботится о своих клиентах и предлагают участие в программе «Мои награды Старбакс».

Как получить карту

Любой клиент сети кофеен старше 14-ти лет имеет право бесплатно получить бонусную карту. Ее нужно пополнять денежными средствами и оплачивать все товары на территории кафе Старбакс. За каждую покупку клиент получает 1 звезду. 12 собранных звезд дают право получить «награду» в виде бесплатного кофе, чая или блюда, кроме целых пирогов и тортов.

Так карта наград выглядит.

Пластиковый носитель можно оформить в любой торговой точке Starbucks на кассе или же создать виртуальный эквивалент онлайн в мобильном приложении Starbucks Russia. Карта активируется после регистрации на сайте www.starbuckscard.ru и первого пополнения.

Особенности использования

Карта Старбакс позволяет владельцу получать приятные бонусы, однако нужно знать, как правильно ее применять:

  1. После регистрации в программе «Мои награды Старбакс» необходимо обязательно активировать карту на сайте www.starbuckscard.ru и внести минимальную сумму в размере 500 рублей. Активация происходит в течение суток.
  2. Для зачисления бонусов нужно оплачивать товар только картой Старбакс.
  3. Награда действует 30 дней с момента назначения, по избежанию этого срока бонус обнуляется.
  4. Просматривать баланс, историю списания и начисления бонусов, а также пополнять счет можно через личный кабинет на сайте www.starbuckscard.ru или через мобильное приложение. Использование последнего также дает возможность оплачивать заказ прямо с экрана телефона (при регистрации виртуальной карты).
  5. На сайте компании есть возможность настроить автоматическое и разовое пополнение счета пластикового или виртуального носителя. Для этого надо подключить платежную банковскую карту в личном профиле и осуществить разовый платеж или настроить постоянное пополнение. Доступные сценарии: начисление денег будет происходить при достижении минимального баланса, в определенный день каждой недели или число месяца.

Уровни программы

При регистрации в системе бонусных накоплений покупатель получает карту Зеленого уровня . Чтобы собранные звезды не обнулялись, нужно совершать по крайней мере 1 покупку в течение 12 месяцев подряд. В ином случае можно потерять все накопленные звезды. Зеленый уровень дает возможность обменять 12 звезд на кофейный напиток или блюдо.

Золотой уровень присваивается при условии накопления 30 и больше звезд на протяжении года. Привилегии:

  • Бонусный бесплатный заказ любого товара из ассортимента напитков или продуктов питания в обмен на 12 накопленных звезд;
  • Поздравительная акция на День рождения - возможность получить бесплатный кофе или блюдо в честь праздника;
  • Золотой дизайн карты;
  • Эксклюзивные акции, которые могут быть составлены с учетом персональных предпочтений при выборе товаров или способа оплаты. Также можно получить скидку на блюда или напитки.

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

Чтобы зарегистрировать аккаунт, перейдите на сайт www.starbuckscard.ru и выберите вкладку «Регистрация».

Затем укажите своей номер телефона и нажмите на кнопку «Получить код».

В открывшемся окне введите полученный код.

Далее станут доступны поля для указания номера и пин-кода (он находится на оборотной стороне пластикового носителя под скретч-панелью рядом с 12-ти значным номером) полученной в кафе карты и личных данных. Также можно подтвердить получение рассылки новостей и акций на почту.

Мобильное приложение «Starbucks Russia»

Для удобства клиентов компания Старбакс разработала и ввела программу для Android и IOS . Функционал приложения позволяет активировать уже существующую карту и отсканировать штрих-код или создать полностью электронную версию, узнавать о новых акциях, и предложениях, находить ближайшие кофейни. В "Starbucks Russia" можно просматривать детали личного аккаунта.

Доступно пополнение карты и оплата заказа онлайн.

Также приложение уведомит Вас о наличии доступных наград.

 
Статьи по теме:
Лидеры и аутсайдеры Какие страны относятся к аутсайдерам
15-02-2010 13:18 Страны-аутсайдеры получили прозвище PIGS (свиньи) Появившаяся с легкой руки экономистов Goldman Sachs аббревиатура , объединяющая потенциальных экономических лидеров, стала обрастать клонами. Для потенциальных аутсайдеров - Португалии,
Комиссия по градостроительству, государственной собственности и землепользованию
1. Комиссия по землепользованию и застройке (далее - Комиссия) создается в целях подготовки Правил землепользования и застройки в соответствии с Градостроительным Земельным кодексами Российской Федерации, а также для решения следующих задач: Рассмотрение
Что такое сборные конструкции?
Унифицированные, заводского изготовления конструкции. Сборные конструкции в строительстве, конструкции, собираемые (монтируемые) из готовых элементов, не требующих дополнительной обработки (обрезки, подгонки и пр.) на месте строительства. Элементы сборны
Устойчивость и надежность банка
2.2 Анализ депозитных операций ПАО «Сбербанк России» Привлечение средств частных клиентов и обеспечение их сохранности остаются основой бизнеса ПАО «Сбербанк России» привлекает средства в срочные депозиты, вклады до востребования, включая банковские карты