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

Как «хакеры» могут получить ваш баланс

Поэтому я читал статьи о «хакерах», крадущих баланс вашей подарочной карты во многих местах и ​​компаниях по всему миру. Обратите внимание, что я дважды цитирую слово «хакеры», потому что считаю, что в некоторых случаях это скорее мошенничество, чем взлом.

Я объясню один сценарий: кто-то идет в большой магазин, берет все подарочные карты с полки и стирает их с обратной стороны, пока не увидит ПИН-код. Делает снимок обратной стороны карты и возвращает ее на полку, чтобы люди могли купить ее позже.

Я должен добавить, что у магазина должен быть веб-сайт, чтобы вы могли проверить баланс карты, чтобы, зная карту и PIN-код, можно было проверить его онлайн. После этого человек идет домой, просматривает сделанные им фотографии и создает список всех карт с соответствующими PIN-кодами. После этого человек создает скрипт для просмотра баланса каждую ночь. Если баланс положительный, то бинго; карта готова к использованию онлайн.

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

Примечание. Не покупайте подарочную карту, если она уже соскоблена.

Поиск уязвимой системы

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

Я искал в основных магазинах своего города те, в которых есть онлайн-чекер, пока не нашел:

На самом деле я нашел много, но в этом не было CAPTCHA, поэтому это была идеальная цель.

Теперь следующим шагом было получить несколько подарочных карт, я собирался купить две в магазине, но потом понял, что могу купить их онлайн. Было бы лучше получить их онлайн, потому что тогда я бы «сгенерировал» их одну за другой, и это позволило бы мне найти шаблон для генерации карт.

Оказывается, их не было в серии, то есть они были такими:

-XXXX XXXX XXXX 0001
-XXXX XXXX XXXX 0004

Вы уже можете сказать, что длина такая же, как у кредитной карты, поэтому я начал изучать шаблон, используемый индустрией платежных карт. Оказалось, что эти подарочные карты использовали алгоритм Луна. ПИН-код также был числовым, но не имел никакого отношения к номеру карты (это я мог сказать, но моя выборка была слишком маленькой).

Я использовал Burp Suite для перехвата запросов и отправил запрос ретранслятору. Я попробовал несколько неправильных ответов, а затем правильный PIN-код (он у меня был). Статус на странице не изменился, но изменилась длина страницы. Я вернулся с ретранслятором и продолжал посылать несколько неправильных PIN-кодов, чтобы убедиться, что нет механизма блокировки. Не было ни одного.

Для проверки концепции мне пришлось начать очищать страницу в поисках всех комбинаций. Чтобы сгенерировать номер карты, я нашел код Python в Википедии, и это позволило мне увидеть, действителен он или нет.

Для этого я использовал в качестве отправной точки номера карт, которые у меня были, поэтому я каждый раз добавлял 1 и проверял его с помощью алгоритма, если бы он был действителен, я бы перебирал ПИН-код. Я показываю, как реализовать часть этого на Python, в статье, которую я недавно написал: Атака полным перебором с использованием Python.
Вам достаточно добавить в код шаг генератора номеров карт и использовать цифры вместо словаря паролей.

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

Имея это в руках, я сообщил о проблеме.

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

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