Русский

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

Расшифровка токенов Base64 онлайн: почему инструмент должен работать в вашем браузере

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

base64 конфиденциальность

Токен, декодированный локально на вкладке браузера, при этом сетевой запрос не отображается на панели «Сеть».
Оригинальная векторная иллюстрация ToolAcre

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

Ключ API, прошедший через чужой сервер — что на самом деле передает вставка токена в декодер отправки формы

Для отладки системы инженеру необходимо проверить ответ JWT или API в кодировке Base64. Они открывают свою любимую поисковую систему, находят онлайн-инструмент декодера и вставляют токен в поле ввода. Инструмент мгновенно отображает декодированную полезную нагрузку, и инженер возвращается к работе. Чего они не увидели, так это того, что попало на сервер: весь токен со всеми учетными данными, заявками и личными данными, которые он содержит. Этот запрос был зарегистрирован, сохранен в журналах доступа к серверу, возможно, кэширован прокси-серверами и определенно виден любому, кто отслеживает сетевой трафик.

Случайный выбор в пользу онлайн-декодера привел к раскрытию производственного токена службе, которую они не контролируют. В этом посте объясняется, какие утечки происходят при вставке в удаленный декодер, как проверить, что инструмент остается локальным, и почему декодер ToolAcre работает в браузере, поэтому ваши секреты никогда не попадают на сервер. JWT (JSON веб-токен) содержит закодированные утверждения, разделенные точками. При декодировании средняя часть часто показывает идентификаторы пользователей, адреса электронной почты, роли, время выпуска, а иногда и API ключи или идентификаторы сеансов.

Что обычно содержит полезная нагрузка Base64 — учетные данные, утверждения JWT, данные сеанса и личная информация.

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

Даже если сервер удаляет их после обработки, они регистрируются, видны при передаче и потенциально перехватываются или сохраняются другими службами. Разница между серверными декодерами туда и обратно и декодерами на вкладках абсолютна. Форма на веб-странице, которой требуется запрос POST или GET для декодирования введенных вами данных, означает, что ваши данные передаются на удаленный сервер. Даже если сервер честен и немедленно удаляет данные, трафик остается открытым. Прокси, балансировщики нагрузки, системы мониторинга и точки завершения TLS видят запрос.

Две архитектуры: сервер туда и обратно и декодирование во вкладке — куда помещаются байты в каждой и кто может их регистрировать

Если сервер нечестен или он скомпрометирован, ваш токен теперь хранится в базе данных, принадлежащей кому-то другому. Декодер внутри вкладки означает, что запрос вообще не отправляется. Набираемый вами текст, вставляемая строка Base64 и декодированный результат остаются в браузере на вашем устройстве. Никакой сервер не связывается, никакая третья сторона не видит данные, а преобразование выполняет собственный браузер JavaScript. Проверка самостоятельно занимает одну минуту и ​​требует только встроенной панели «Сеть» браузера.

Откройте кодировщик и декодер Base64 на новой вкладке, откройте консоль разработчика (F12 в большинстве браузеров) и перейдите на вкладку «Сеть». Убедитесь, что список пуст, или нажмите кнопку «Очистить». Теперь вставьте образец токена или строку Base64 в декодер и нажмите «Декодировать». Внимательно следите за панелью «Сеть». Если он остается совершенно пустым и новых запросов не появляется, значит, декодирование происходило локально в браузере. Если появляется запрос к серверу, этот запрос несет ваши данные.

Как проверить самому в сетевой панели — следим за запросами во время вставки и что доказывает тихая панель

Альтернативно откройте исходный код страницы HTML или JavaScript (щелкните правой кнопкой мыши, выберите «Просмотреть исходный код страницы») и найдите, где форма публикует или загружает данные. Если он отправляет на удаленную конечную точку, которая не является тем же доменом, из которого загружена страница, ваш ввод покидает устройство. Быстрая проверка панели «Сеть» позволяет определить, является ли декодер локальным или удаленным. Строго локальный инструмент не делает запросов, когда вы что-то декодируете. Нет запроса GET с введенными вами параметрами, нет POST с данными формы, нет вызова выборки API.

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

Почему никакая аналитика и сторонние скрипты также не имеют значения — как строгая политика безопасности контента исключает скрытую кражу

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

Страницу, которая не делает никаких запросов, не содержит сторонних JavaScript и объявляет строгий CSP, запрещающий дальнейшую загрузку, гораздо сложнее скомпрометировать, чем ту, которая разрешает все. Кодер и декодер Base64 использует этот подход: операции выполняются в Web Worker на вашем устройстве, на сайте действует строгий CSP, который запрещает внешний код, и страница не отправляет сетевые запросы при декодировании.

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

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

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

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

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

Трафик сетевой панели, исходный код страницы, заголовки HTTP и ошибки консоли браузера — все это является доказательством. Когда инструмент утверждает, что он локальный, но у вас нет возможности это проверить, скептицизм оправдан. ToolAcre Кодер и декодер Base64 полностью работает в вашем браузере и не выполняет никаких запросов при декодировании. Вы можете открыть вкладку «Сеть», вставить реальный токен, декодировать его и не увидеть исходящего запроса. Раскодированное значение отображается только в вашем браузере. Он не сохраняется ни на одном сервере, не отправляется в аналитику, не регистрируется нигде, кроме как в кеше вашего браузера, если вы заходите снова, и страница кэшируется.

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

Декодируйте локально, и ваш токен останется вашим. Практический совет прост. Если вам нужно декодировать токен Base64 или JWT, используйте инструмент, который запускается локально в вашем браузере. Убедитесь, что он не делает никаких запросов, открыв панель «Сеть» и проверив ее во время декодирования. Если вы найдете онлайн-инструмент, который отправляет сообщения на сервер, прекратите его использовать. Никогда не вставляйте производственные токены, ключи API или любые конфиденциальные данные в инструмент, через который данные передаются на удаленный сервер. Храните недолговечные токены и регулярно меняйте долгоживущие, чтобы свести к минимуму окно риска.

Для кодера и декодера ToolAcre Base64 вставленные вами токены и учетные данные остаются на вкладке, и вы можете подтвердить это самостоятельно, быстро взглянув на панель «Сеть».