Хабрахабр

Майнинг еды или «Перекресток» глазами хакера

Введение

Доброго времени суток, друзья. Кто читал мои предыдущие статьи, должны понимать, что это будет еще один увлекательный взлом. Вот только взламывать мы будем магазин еды. Скажу сразу, что это не просто взлом. Мы не будем использовать дыры в коде системе. Мы возьмем эту систему и просто посмотрим на нее с другой стороны. Иначе говоря: «глазами хакера».

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

image

Подготовительная часть

Как и любая сеть магазинов, Перекресток имеет свои пластиковые карты, которые может купить любой покупатель за двадцатку деревянных. На эту карту будут начисляться баллы с каждой покупки. Чем больше закупитесь, тем больше баллов начисляется. Когда накопится достаточное количество баллов, вы можете приобрести любые продукты в счет этих баллов (кроме сигарет и спиртного). Курс обмена: 10 баллов = 1 рубль. Подходим к сути. У Перекрестка есть веб-сайт. По системе/задумке «Перекрестка» вы должны купить карту и зарегистрировать ее на сайте, чтобы получить доступ в личный кабинет и совершать покупки онлайн, следить за операциями и тд. Но что вы получаете на кассе? Пластиковую карту с 16-значным номером, которая уже активна. Поэтому многие пользователи даже не знают о существовании этого сайта.

Выглядит она так: А теперь зайдем на страницу регистрации карты.

image

Введем номер карты, что потом? Okay.

image

Введем номер, что потом? Wow.

image
(скриншот не полностью)

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

Постойте! Но! Произойдет троллинг, друзья. А что, если мы введем номер не своей карты, а номер телефона свой? Аплодирую Перекрестку! Чужая карта привяжется к вашему номеру!

Техническая часть

Что ж, мы можем взять номер любой карты (с этого момента перекресток будет с маленькой буквы) перекрестка, зарегистрировать ее на свой номер.

И все баллы с этих 5 карт суммируются в одну. Важно знать, что на 1 номер можно зарегистрировать аж 5 карт (правило магазина). Возьмем, для примера, номер 7790 9977 0000 0000. Важно знать, что номер карты состоит из 16 цифр. Как найти другие? Пусть эта карта будет ваша. надо прибавить +8 к этому числу. Система следующая! Но важно знать, что в одном десятке не может быть больше 1 карты! Это и есть номер карты другого человека. В таком случае, следует прибавить +10, чтобы перейти на десяток выше.

у вас карта 7790 9977 0000 0000. И так. Итог: 7790 9977 0000 0018 (+10)
Следующая +8: 7790 9977 0000 0026 (+8) Следующая: 7790 9977 0000 0008 (+8).
Но в одном десятке не может быть 2 карты, значит еще +10.

Все просто — вводим номер карты с *1 до *9, пока сайт не предложит нам ввести номер телефона. И тд., но с наступлением полусотни, счетчик сбрасывается и вам надо подбирать действующий номер уже вручную.

Дальше! С этим разобрались.

Хакерская часть

Сразу к делу. Выставляем на сайте «Москву и московскую область», или же «Питер».

image

Зарегистрировавшись и войдя в кабинет, мы перейдем во вкладку «добавления карты». Это позволит нам получить доступ в ЛК интернет-магазина.

image

Здесь мы можем проверить номер карты на валидность. Этот очень удобный инструмент перекресток сделал специально для хакера. Ну, вы поняли. Вставляем номер и перекресток через json выдает нам «true or false». У меня выходило около 1000 валидных карт в час. Можно даже брут написать.

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

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

Следствия

Все хорошо, но если у меня один телефон, одна сим-карта. Как мне зарегистрировать другие карты? Ответ прост. Идем на платный сервис, где можем покупать номера, на которые будем принимать смс с кодом подтверждения. Таких сервисов довольно много. 1 номер, в целом, стоит 2-4 рубля. А баланс на картах может превышать 10000 баллов — более 1 тысячи рублей. Так что, это целесообразно.

Это словно «инструкция к ограблению банка». Повторяю, это не призыв к взлому. Врываться и грабить банк никто, конечно же, не будет, но те, кто это сделают, ответят перед законом.

Выводы

Экспериментальным путем было «сбручено» около 500 карт. Баланс варьировался от 50 до 1500 р.
Экспериментально также было проверено на практике. Был поход в магазин, где была произведена закупка на чужую карту. (Чужая карта принадлежала моему знакомому, который был в курсе, но я знал лишь номер карты, которая в последствии была зарегистрирована на мой виртуальный номер и присвоена мне). Приложу чек:

image

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

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

Слал письма 2 недели. Были попытки связаться с службой поддержки. Странно, но не было ответа. В теме письма ставил «очень важно, вы взломаны». Ну да ладно. Быть может, не восприняли всерьез. Просто обкрадываем покупателей, тратим их деньги и кормим свою семью. Все, что описано выше, не так уж и серьезно.

Статья не полная, — были скрыты технические аспекты, дабы избежать массового взлома. А на этом пока все.

Теги
Показать больше

Похожие статьи

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть