Копипаст.ру - фото ню, юмор, фото приколы, бесплатные игры, демотиваторы, комиксы, девушка дня Фото приколы   Удивительное   Фото НЮ   Ещё »  

хочу только
эфир   блогород   недельник   лидеры   лучшие   архив   пopно  
Нас уже 74650. 
Подсчет онлайн...
сейчас
+ регистрация / вход

→ В НОВОМ

Как парень взломал Starbucks

25 мая 2015 в 00:08Удивительноеby funticТеги: карты запросов сессию запрос можно |
7
рейтинг
7
коммент.

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

Удивительное. Как парень взломал Starbucks

От автора

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

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

Удивительное. Как парень взломал Starbucks

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

Есть такой малоизвестный класс уязвимостей «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.

Удивительное. Как парень взломал Starbucks

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

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

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

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

Нравится пост? Жми:


Похожие новости
Это был его самый лучший день р…Толстовка для любителей животны…Креатив Артура Бордало (12 фото…14 лет из жизни одной семьи (4 …Торты от Рената Агзамова (34 фо…
Теги: карты запросов сессию запрос можно | Все фото приколы и картинки »

РЕГИСТРАЦИЯ НА САЙТЕ ЗА 20 СЕКУНД
Меньше рекламы, добавление новостей, голосование, подарки...



1: 25 мая 2015 01:45
 
АНБ прочухается и огребёт пацан по полной. Да ещё и фирма на него все убытки спишет. В штатах с хакерами строго! fuck

2: 25 мая 2015 11:37
 
А, что делают с хакерами у нас?

3: 25 мая 2015 11:52
 
Цитата: Архангел_Михаил
А, что делают с хакерами у нас?
На гос службу определяют, если мозги есть. Или на зону. throw

4: 25 мая 2015 12:30
 
тем самым обеспечить себе пожизненный бесплатный кофе



5: 25 мая 2015 12:35
 
ALEXAF, wink

6: 25 мая 2015 12:43
 
где источник?

7: 25 мая 2015 14:12
 
newsmile22
Информация
Вы не можете оставлять комментарии к данной новости.

Загрузка. Пожалуйста, подождите...