«QR-код, это не магический шлюз для платежа, а просто указатель, куда направить ваш браузер. Его подлинность не гарантирована ничем, кроме вашего доверия к поверхности, на которую он нанесён. И это доверие — главная уязвимость, которую давно и успешно используют.»
Классика: подмена физического носителя
Метод, не требующий хакерских навыков, остаётся самым массовым. Злоумышленник печатает стикер с QR-кодом, ведущим на фишинговый сайт-клон платёжного сервиса, и наклеивает его поверх оригинального на столике, в меню или на стенде.
Эффективность строится на двух особенностях поведения:
- Доверие к физическому контексту. QR-код воспринимается как часть интерьера заведения, а не как независимая ссылка. Кто станет проверять, действительно ли администрация приклеила этот конкретный стикер?
- Скорость совершения платежа. Вся операция занимает секунды. Внимание пользователя сосредоточено на цели «оплатить», а не на анализе URL. Мало кто замечает подмену домена в адресной строке после перехода.
Фишинговые сайты часто используют доменные имена, схожие с легитимными: добавляют дефисы (qiwi-pay.ru), используют другие кириллические буквы (о-на-английском) или регистрируют адреса в менее контролируемых доменных зонах (.online, .click, .top).
Динамический редирект: умная мишень
Более изощрённая техника, которая обходит простую визуальную проверку ссылки. Мошенник создаёт QR-код, ведущий на короткую ссылку (например, через сервис сокращения URL). Ключевая особенность — конечный адрес назначения меняется в зависимости от условий запроса.
Серверный скрипт анализирует входящее соединение и принимает решение о перенаправлении.
| Условие срабатывания | Легитимное перенаправление | Фишинговое перенаправление |
|---|---|---|
| Запрос в часы работы кафе (например, с 09:00 до 23:00) | Настоящая платёжная страница | Сайт-клон для сбора данных карт |
| IP-адрес пользователя принадлежит сети заведения (определяется по диапазону) | Настоящая платёжная страница | |
| Счётчик переходов не превысил лимит (первые 100 сканирований) | Настоящая платёжная страница |
Опасность метода в том, что он разрывает связь между моментом первичной проверки и моментом совершения платежа. Вы можете сканировать код, видеть безобидный короткий URL, открывать его и попадать на корректный сайт. Позже, дома, вы решаете оплатить заказ и, перейдя по той же сохранённой ссылке, оказываетесь на фишинговой странице — условия изменились.
Компрометация источника: когда атакуют систему
Наиболее сложный сценарий предполагает атаку не на носитель, а на систему генерации QR-кодов. Многие кафе используют облачные сервисы или конструкторы для создания меню с платежами. Получив доступ к административной панели такого сервиса (через уязвимость, утекшие данные или инсайдера), злоумышленник может изменить настройки.
В этом случае все QR-коды, напечатанные «официально» — в меню, на флаерах, на сайте — изначально содержат вредоносную ссылку. Физической подмены нет, поэтому угроза максимально легитимна в глазах клиента.
С доступом к системе можно:
- Подменить домен платёжного шлюза в настройках на фишинговый.
- Внедрить в легитимную платёжную страницу скрипт-сниффер, который будет тихо перехватывать вводимые данные карты, параллельно с корректным процессом оплаты.
- Изменять реквизиты получателя платежа, чтобы деньги уходили на счета мошенников.
Защита от этого лежит полностью на стороне бизнеса: строгий контроль доступа, двухфакторная аутентификация к админ-панелям, мониторинг изменений конфигураций. Для малого бизнеса эти практики часто остаются формальностью.
Практические меры: не только «смотрите на адресную строку»
Стандартные советы уязвимы, особенно перед динамическими редиректами. Эффективнее менять привычки.
Для клиентов
- Используйте сканер внутри банковского приложения, а не общий сканер камеры смартфона. Приложения многих банков анализируют ссылку на предмет фишинга перед переходом.
- При малейших сомнениях выбирайте альтернативный способ. Попросите продиктовать номер счёта для перевода по реквизитам или провести оплату через терминал. Легитимный бизнес не откажет.
- Обращайте внимание на мелкие детали: несоответствие дизайна, опечатки в названии заведения на платёжной странице, отсутствие HTTPS (хотя его наличие уже ни о чём не говорит).
Для бизнеса
- Верифицируйте свои коды. Периодически сканируйте QR-коды в зале с разных устройств (личный телефон, рабочий) и проверяйте конечный адрес.
- Рядом с QR-кодом размещайте текстовую подпись с указанием легитимного домена («Оплата через ЮKassa:
yookassa.ru»). Это добавляет прозрачности. - Используйте услуги сервисов, которые предоставляют цифровую подпись для QR-кодов (пока редкая, но растущая практика).
Удобство QR-платежей основано на устранении шагов. Мошенники атакуют именно эту скорость, убирая паузу для проверки. Защита заключается в том, чтобы сознательно вернуть этот шаг в процесс, не отказываясь от технологии полностью.