Русский

Инструменты разработчика · Кодер и декодер URL

Безопасное декодирование URL-адресов клиентов: почему декодеру URL не следует звонить домой

· Почему это важно

конфиденциальность URL-декодирование безопасность

Поддержка инженерного декодирования URL-адресов локально в браузере без отправки на сервер.
Оригинальная векторная иллюстрация ToolAcre

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

Локальное декодирование URL не позволяет конфиденциальным токенам покидать ваш браузер.

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

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

Что находится в строке запроса — токены, идентификаторы, адреса электронной почты, параметры отслеживания и иногда полные имена.

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

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

Обращение к серверу и декодирование в браузере — что предоставляет каждая архитектура и кому

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

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

Проверяем сами: сетевая панель при вставке и то, что исключает строгая политика безопасности контента.

Убедитесь сами, используя сетевую панель браузера при вставке ссылки в декодер. Откройте инструменты разработчика, найдите вкладку «Сеть», очистите ее, затем вставьте и декодируйте. Если список запросов остается пустым или показывает только собственные ресурсы страницы, ничего не загружается. Запрос POST или PUT с большой полезной нагрузкой будет явным признаком того, что ссылка отправлена ​​на серверную часть.

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

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

Рабочий пример прекрасно демонстрирует локальное декодирование: вставьте https://example.com?id=abc123&user=email%40domain&token=xyz в инструмент локального декодера. Панель остается совершенно пустой на протяжении всего времени. Расшифруйте и увидите, что каждый параметр четко виден. Обновите страницу, снова откройте панель «Сеть», раскодируйте вторую ссылку. Никакого хранилища, никаких файлов cookie, никакого постоянного состояния между сеансами.

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

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

Навыки работы групп поддержки эффективно защищают как организацию, так и клиентов. Отредактируйте токены, прежде чем делиться ссылками в чате или тикетах. Копируйте только структуру и безобидные части: имена доменов и параметров. Декодируйте ссылки локально перед отправкой куда угодно. Никогда повторно не открывайте ссылку для сброса пароля после ее использования, никогда никому не делитесь ссылкой для полного сброса; попросите клиента перейти по собственной ссылке.

Политики, такие как декодирование URL, должны выполняться локально, их легко применять и они создают строгие нормы. Сделать локальный декодер инструментом по умолчанию. Ограничьте доступ к аналитике ссылок, если эта аналитика получает полные строки запроса. Научите команды относиться к вставленной ссылке как к конфиденциальным данным, никогда не покидая устройство для этапа косметического декодирования.

Чего это не касается — расширения браузера и историю буфера обмена, которую не может контролировать ни один веб-инструмент.

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

Кодер URL — это один из этапов более масштабного рабочего процесса. Не упускайте из виду систему вокруг него. Но что касается шага, который он контролирует, локальное декодирование в браузере — это всегда честный выбор для защиты данных. Инструмент не может контролировать ваш браузер, расширения или системы резервного копирования, а только сам этап декодирования.

Вывод: декодируйте там, где уже есть ссылка — как кодировщик и декодер URL полностью работают в вашем браузере без учетной записи и ничего не загружаемого.

Takeaway — это декодирование там, где ссылка уже есть: в вашем браузере, на вашем устройстве, в инструменте, который никогда не подключается к кому-либо еще. Кодировщик URL полностью работает в вашем браузере, без учетной записи и без загрузки. Сетевая панель тому подтверждение. Рабочие процессы поддерживают локальное декодирование ссылок для защиты данных клиентов и доверия организации.

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