Заказ за 1 цент: как магазин терял деньги

У владельца интернет-магазина на Drupal заказы проходили за 1 цент или вовсе без оплаты. Дыра сидела в самом оформлении покупки.

На днях разобрал историю из практики. Владелец небольшого интернет-магазина на Drupal позвонил с вопросом: почему выручка в системе есть, а на расчётном счёте заметно меньше? Оказалось, часть заказов в админке была помечена как оплаченная, хотя деньги не приходили. Ровно такая же схема сейчас всплыла в новостях: Drupal подтвердил, что критическую уязвимость в модуле Commerce Core уже используют в атаках.

Где была дыра

Простыми словами: покупку можно провести в обход проверки платежа. Злоумышленник оформляет заказ, а магазин считает, что он оплачен, хотя заплатили 1 цент или ничего. Товар уходит, деньги нет. Хуже всего то, что со стороны всё выглядит как обычные продажи, и заметить подвох можно только при сверке с банком.

Что это стоило

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

Что я сделал

1. Обновил Commerce Core до исправленной версии: было окно для обхода оплаты, стало закрытое.

2. Настроил автоматическую сверку заказов с поступлениями: было ручное сравнение на несколько дней, стало ежедневное совпадение без участия человека.

3. Подключил уведомление владельцу в мессенджер, если заказ отмечен оплаченным без платёжной транзакции: было узнавание о проблеме постфактум, стало сигнал в день события.

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

А у вас продажи в учётной системе и поступления на счёт проверяются автоматически или всё ещё глазами?

Бесплатный аудит безопасности

Сколько стоит взлом

Канал в Telegram

Канал в MAX

Заказ за 1 цент: как магазин терял деньги | Сетка — социальная сеть от hh.ru Заказ за 1 цент: как магазин терял деньги | Сетка — социальная сеть от hh.ru Заказ за 1 цент: как магазин терял деньги | Сетка — социальная сеть от hh.ru Заказ за 1 цент: как магазин терял деньги | Сетка — социальная сеть от hh.ru