Перейти к содержанию

Удалите секреты из журналов и файлов HAR, прежде чем поделиться ими.

Blog / Опубликовано 

«Можете ли вы прислать мне файл HAR?» — это разумный запрос инженера службы поддержки, и его опасно выполнять бездумно. Экспорт HAR — это полная запись сеанса браузера: каждый запрос, каждый заголовок ответа, каждый отправленный файл cookie, а часто и тела ответа. Передача одного из них в неотредактированном виде дает получателю возможность действовать от вашего имени на любом сайте в этой записи до тех пор, пока существуют эти сеансы.

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

Что на самом деле содержится в файле HAR

HAR — это JSON, и он по замыслу является исчерпывающим. При обычном экспорте вы найдете:

очиститель файлов 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. В зависимости от продукта и плана этот текст может быть сохранен, проверен человеком или использован для обучения. Рассматривайте любую вставку в размещенную модель как передачу третьей стороне (потому что это именно так) и очищайте ее точно так же, как вы очищаете вложение к внешнему электронному письму.

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

Чек-лист, который стоит закрепить

  1. Запишите HAR в личном окне, открыв только соответствующую вкладку, и начните запись. после вы вошли в систему.
  2. Запустите экспорт через санитайзер.
  3. Откройте очищенный файл и найдите его. token, secret, key, auth, password и ваши собственные доменные имена.
  4. Удалите коды ANSI из любого вывода терминала, а затем отредактируйте идентификаторы.
  5. Прочитайте результат от начала до конца. Это короче, чем вы думаете.
  6. Поверните все, что было в оригинале.
  7. Отправьте его через канал, срок действия которого истекает, а не через канал, который архивируется навсегда.

Шесть минут работы против утечки учетных данных, которая в противном случае стояла бы в очереди на неопределенный срок.

Написал Ján Turský

Создатель TextArray — создания бесплатных инструментов, обеспечивающих конфиденциальность, которые полностью работают в вашем браузере.