Really Free QR Code Generator··8 мин чтения

QR-код: сначала расшифруйте, не сканируйте

QR-код невозможно прочитать глазами, но его содержимое можно извлечь за несколько секунд. Узнайте адрес до перехода — и ограничения такой проверки.


Расшифруйте изображение вместо сканирования. Сканер расшифровывает текст и сразу выполняет его, а декодер расшифровывает тот же текст и просто показывает его вам. В этом и заключается весь запас безопасности. Если содержимое — URL на домене, который вы узнаёте, код ведёт прямо туда. Если это короткая ссылка на незнакомом домене, в цепочке участвует третья сторона.

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

Шаг 1 — прочитайте содержимое вместо перехода по ссылке

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

Сфотографируйте код или сделайте снимок экрана, а затем расшифруйте изображение с помощью нашего QR-ридера. Он полностью работает в браузере: изображение никуда не загружается, и ничего не открывается. Вы получаете исходное содержимое в виде текста.

Шаг 2 — определите тип содержимого

Содержимое QR-кодов обычно имеет узнаваемый формат. По началу строки можно понять, что сделал бы сканер.

Содержимое начинается сТипЧто сделал бы сканер
https:// или http://URLОткрыл бы страницу. Это самый распространённый случай
WIFI:T:WPA;S:…;P:…;;Учётные данные Wi-FiПредложил бы подключиться к этой сети — проверьте SSID перед подтверждением
BEGIN:VCARDКонтактная карточкаПредложил бы сохранить контакт
mailto: / tel: / smsto:Электронная почта, звонок, SMSПодставил бы данные сообщения или набрал номер
Обычный текст без префиксаТекстПоказал бы его. Безвредно
javascript: или незнакомая схема приложенияПодозрительноеНе открывайте

На наших страницах о типах описан каждый формат, если вы хотите увидеть, как выглядит корректный код: Wi-Fi, vCard, электронная почта, телефон, обычный текст.

Шаг 3 — проверьте домен

Для URL главное — домен. Читайте его справа налево до первой одиночной косой черты. В https://pay.cityparking.gov/meter/44 домен — cityparking.gov. В https://cityparking.gov.pay-now.click/meter/44 это pay-now.click, а узнаваемая часть — лишь декорация.

Что вы видитеКак это понимать
Узнаваемый домен, соответствующий организацииПрямая ссылка. Код ведёт туда, куда кажется
Обычный сервис сокращения QR-ссылок, которым владеете не выВ цепочке есть третья сторона, которая может изменить или отключить адрес назначения
Настоящее название бренда как поддомен чего-то другогоКлассическая подмена. Проверяйте метки справа
Необработанный IP-адресНа печатных материалах это почти никогда не бывает законным

О сокращателях стоит помнить следующее: если вы узнаёте сервис, это не говорит, куда ведёт ссылка. Unit 42 формулирует это прямо: «Даже люди, внимательно относящиеся к безопасности и проверяющие предварительный просмотр URL перед сканированием, не могут определить конечный адрес, если им показывают сокращённые ссылки». Три сервиса, которые они называют наиболее часто злоупотребляемыми, — обычные домены перенаправления QR-генераторов. Знакомый сокращатель не служит гарантией.

Шаг 4 — проследите цепочку перенаправлений

Если содержимое — короткая ссылка и вам нужно узнать её настоящий конечный адрес, определите его, не загружая страницу. В терминале:

Выполните curl -sIL "https://short.example/abc" | grep -i "^location:" — команда выведет заголовок Location для каждого перехода, не выполняя содержимое страницы. Обратите внимание на число переходов: один переход к ожидаемому адресу — обычная ситуация, а несколько переходов через несвязанные хосты обычно указывают на посредников аналитики или рекламы, каждый из которых видит запрос. В статье Что записывает QR-прокси описано, какие данные собирают такие переходы.

Есть два важных ограничения. Перенаправление может отправить вас и другого человека на разные страницы в зависимости от IP-адреса, user-agent или времени. Поэтому чистый результат подтверждает только то, что произошло с вами в тот момент, а не то, что получит клиент в другой стране. Кроме того, адрес назначения динамического кода можно изменить в любой момент — именно ради этой функции его и продают.

Как проверить код, который пришёл по электронной почте?

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

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

Обращайте внимание на сочетание срочности и кода: проблема с доставкой, уведомление от налоговой, переполненный почтовый ящик, необходимость подтвердить аккаунт сегодня. Законным организациям очень редко нужно, чтобы вы сканировали напечатанный квадрат для решения срочной проблемы с аккаунтом. В статье Квишинг подробно разобраны схемы таких атак.

Чего декодер не может вам сказать?

Если понимать ограничения, проверка будет честной и полезной.

  • Безопасен ли адрес назначения. Декодер показывает адрес, а не содержимое. Даже узнаваемый домен может размещать взломанную страницу.
  • Что увидят другие люди. Перенаправление может вести на разные адреса в зависимости от IP-адреса, user-agent или времени суток. Чистый результат описывает только ваш запрос в конкретный момент.
  • Что произойдёт завтра. Адрес назначения динамического кода можно изменить в любой момент после проверки. Именно ради этого его и продают, поэтому фраза «я однажды его проверил» не является постоянным подтверждением безопасности динамического кода.
  • Совпадает ли напечатанная копия с файлом. Наклеенная поверх стикерная накладка означает, что утверждённый вами макет и объект на стене могут отличаться. Только расшифровка физической копии говорит что-либо о физической копии.

Именно первое и последнее ограничения объясняют, почему в советах для бизнеса этого блога постоянно повторяется одна мысль: статический код на собственном домене — единственный вариант, при котором разовая проверка остаётся верной.

Шаг 5 — проверьте собственный макет перед печатью

Это занимает минуту и предотвращает целый класс дорогостоящих проблем.

  1. Экспортируйте финальный макет ровно в том виде, в котором он будет напечатан.
  2. Расшифруйте этот файл, а не код в окне предварительного просмотра генератора.
  3. Убедитесь, что содержимое — нужный вам URL на принадлежащем вам домене.
  4. Если это короткая ссылка на чужом домене, не печатайте её. Создайте статический код заново.
  5. После получения печатной пробы просканируйте её и убедитесь, что она по-прежнему ведёт куда нужно.

Если код уже напечатан и проверять его стало поздно, руководство по восстановлению после блокировки описывает оставшиеся варианты. Если код перестал работать и вы пока не знаете почему, начните со статьи почему ваш QR-код перестал работать.

Часто задаваемые вопросы

Можно ли расшифровать повреждённый, грязный или частично закрытый QR-код?
Часто да. В QR-кодах используется коррекция ошибок Рида — Соломона, и на самом высоком уровне можно потерять примерно 30% узора, сохранив содержимое. Нельзя потерять три больших квадрата в углах — это маркеры положения, по которым декодер вообще находит и ориентирует сетку. Код с оторванным углом обычно не сработает, а потёртый посередине — обычно сработает.
Безопасно ли сканировать QR-код просто чтобы посмотреть, что в нём?
Большинство телефонных сканеров показывают предварительный просмотр перед открытием, и это относительно безопасно. Риск возникает, когда вы по привычке сразу нажимаете на ссылку. Если есть сомнения, расшифруйте изображение — это полностью устраняет риск.
Как понять, что QR-код динамический?
Расшифруйте его. Если содержимое — короткая ссылка на домене, который не принадлежит ни вам, ни сайту назначения, код динамический и проходит через эту третью сторону. Статический код содержит сам URL назначения.
Можно ли понять, что делает QR-код, до сканирования, если у меня нет интернета?
Да. Расшифровка — локальная операция: декодеру, работающему в браузере, не нужна сеть после загрузки страницы, а содержимое представляет собой текст, который вы можете прочитать сами.
Что делать, если напечатанный код расшифровывается в незнакомый мне домен?
Не сканируйте его. Если он размещён на объекте общего пользования, сообщите об этом владельцу поверхности. FTC и FBI предупреждали о стикерах, наклеенных поверх настоящих кодов; см. квишинг.

Коды, созданные здесь, всегда расшифровываются ровно в то, что вы ввели: QR-код для URL. Больше контекста — в статье правда о мошенничестве с QR-кодами.


Готовы к статичному QR-коду?

Создайте его прямо в браузере — без аккаунта, без отслеживания, без подписки. Что вы сгенерируете — принадлежит вам.

Квишинг: главные домены атак — QR-генераторы

Слой перенаправления, который «бесплатные» QR-генераторы добавляют в обычную печатную продукцию, используют и злоумышленники — он лишил сканеры последней защиты.

Статичные и динамические QR-коды: что важно знать каждому

Один кодирует ваш контент; другой кодирует редирект. Эта единственная разница определяет, будет ли ваш QR-код работать через пять лет.

QR-код отключили: покупайте месяц, не год

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

5 красных флагов, что ваш генератор QR — ловушка

Пять сигналов, отличающих честные инструменты QR от динамик-первых генераторов, которые потом начнут брать с вас деньги или отключат ваши коды.

QR-сканы: данные у сервиса, риск — у вас

Аналитика сканирований — не бонусная функция. Именно ради неё существует переадресация, а юридический риск несёт не тот, у кого находятся данные.