Удалите секреты из журналов и файлов HAR, прежде чем поделиться ими.
«Можете ли вы прислать мне файл HAR?» — это разумный запрос инженера службы поддержки, и его опасно выполнять бездумно. Экспорт HAR — это полная запись сеанса браузера: каждый запрос, каждый заголовок ответа, каждый отправленный файл cookie, а часто и тела ответа. Передача одного из них в неотредактированном виде дает получателю возможность действовать от вашего имени на любом сайте в этой записи до тех пор, пока существуют эти сеансы.
То же самое относится, хотя и менее очевидно, к фрагментам журналов, которые люди целый день вставляют в заявки, темы Slack и окна чата. Стоит иметь режим.
Что на самом деле содержится в файле HAR
HAR — это JSON, и он по замыслу является исчерпывающим. При обычном экспорте вы найдете:
- Сеансовые файлы cookie за каждый затронутый домен в полном объёме при отправке. Это самый важный момент: файл cookie сеанса представляет собой учетные данные на предъявителя, и получателю не нужен ваш пароль для его использования.
Authorizationзаголовки, включая токены на предъявителя и учетные данные базовой аутентификации, которые легко декодируются.- Токены в строках запроса. Ссылки для сброса пароля, подписанные URL-адреса, ключи API, передаваемые в качестве параметров, коды OAuth в середине потока.
- Органы запроса. Все, что вы ввели в форму во время записи, включая форму входа, если запись началась до того, как вы вошли в систему.
- Органы реагирования. В зависимости от параметров экспорта актуальные данные — записи клиентов, данные учетной записи, внутренние полезные данные API.
- Все остальное у вас было открыто. HAR находится на каждой вкладке браузера, но в него также попадают аналитические маяки, трафик расширений и фоновые обновления от других служб.
очиститель файлов HAR берет экспорт и удаляет части, несущие учетные данные — файлы cookie, заголовки аутентификации, токены — оставляя структуру запроса и ответа нетронутой, что на самом деле нужно человеку, отлаживающему вашу проблему. Вставьте его, получите очищенный файл, прикрепите его.
Посмотрите, что вы отправляете
Проводить дезинфекцию вслепую лучше, чем не проводить дезинфекцию, но полезная привычка — это сначала смотреть. Скопируйте заголовки подозрительного запроса из инструментов разработки и пропустите их через Парсер HTTP-заголовка: он разбивает необработанный блок на пары имя/значение, которые вы можете прочитать, что делает очевидным наличие X-Internal-Auth или заголовок токена, специфичный для поставщика, который общий шаблон редактирования не распознал бы как секрет.
Печенье заслуживает отдельного взгляда. Вставьте Cookie или Set-Cookie линия в парсер файлов cookie и вы получаете каждый файл cookie с его атрибутами — HttpOnly, Secure, SameSite, срок действия. Это проверка на редактирование («какие из них являются токенами сеанса?») и проверка безопасности одновременно: файл cookie сеанса без HttpOnly или с годовым сроком годности — это самостоятельная находка, и вы уже на нее смотрите.
Выход терминала имеет две проблемы
Вставленные журналы терминала содержат секреты — строки подключения, токены в командах Curl, дампы среды — а также содержат escape-последовательности ANSI. Вот почему красочное бревно превращается в ESC[0;32m шум, когда он попадает в билет, и они затрудняют чтение текста и поиск для вас. Стриппер ANSI удаляет коды цвета и управления курсором и оставляет текст.
Потом отредактируйте. редактор данных находит повторяющиеся категории — адреса электронной почты, IP-адреса, номера телефонов, номера карт, строки в форме ключей — и последовательно заменяет их, поэтому журнал по-прежнему читается как последовательный след, а не превращается в стену [REDACTED]. Согласованность имеет значение при отладке: если везде заменить один и тот же идентификатор пользователя одним и тем же заполнителем, читатель все равно сможет проследить один запрос через пятьдесят строк.
Сопоставление с образцом не обнаружит секрет, который выглядит как обычный текст, поэтому прочтите результат перед его отправкой. Внутренние имена хостов, имена клиентов в полях с произвольным текстом и пути к файлам, содержащим имена пользователей, — это три вещи, которые сохраняются при каждом автоматическом проходе.
Редактирование – это не ротация
Самый важный момент, который люди пропускают: если учетные данные уже были отправлены куда-то, они не должны были исчезнуть, их удаление из документа ничего не дает. Он может быть у получателя. Он может находиться в архиве электронной почты, в системе заявок, в чате, в чьей-то локальной папке загрузок или в журналах поставщика модели.
Поворот. Аннулировать сессию, отозвать токен, свернуть ключ API. Затем очистите файл. Именно в таком порядке, потому что чистка занимает минуту, а вращение — это та часть, которая фактически закрывает экспозицию.
Вставка в окно чата — это публикация
Отладка с помощью помощника теперь является нормальной, и трассировка стека со строкой подключения передается третьей стороне в тот момент, когда вы нажимаете Enter. В зависимости от продукта и плана этот текст может быть сохранен, проверен человеком или использован для обучения. Рассматривайте любую вставку в размещенную модель как передачу третьей стороне (потому что это именно так) и очищайте ее точно так же, как вы очищаете вложение к внешнему электронному письму.
Это тот случай, когда локальные инструменты — это не предпочтение, а вся суть: каждый названный здесь инструмент запускается в вашем браузере, поэтому неотредактированная версия файла никогда не загружается куда-либо на пути к очистке. Очистка журнала, содержащего секреты, путем вставки его на веб-сайт, который обрабатывает его на сервере, означает, что секрет уже удален, как бы ни выглядел очищенный вывод.
Чек-лист, который стоит закрепить
- Запишите HAR в личном окне, открыв только соответствующую вкладку, и начните запись. после вы вошли в систему.
- Запустите экспорт через санитайзер.
- Откройте очищенный файл и найдите его.
token,secret,key,auth,passwordи ваши собственные доменные имена. - Удалите коды ANSI из любого вывода терминала, а затем отредактируйте идентификаторы.
- Прочитайте результат от начала до конца. Это короче, чем вы думаете.
- Поверните все, что было в оригинале.
- Отправьте его через канал, срок действия которого истекает, а не через канал, который архивируется навсегда.
Шесть минут работы против утечки учетных данных, которая в противном случае стояла бы в очереди на неопределенный срок.
Создатель TextArray — создания бесплатных инструментов, обеспечивающих конфиденциальность, которые полностью работают в вашем браузере.