Видаліть секрети з журналів і файлів HAR, перш ніж ділитися ними
"Ви можете надіслати мені файл HAR?" є обґрунтованим запитом інженера служби підтримки, і небезпечно бездумно виконувати його. Експорт HAR — це повний запис сеансу браузера: кожен запит, кожен заголовок відповіді, кожен надісланий файл cookie, а часто й тіла відповіді. Передача одного невідредагованого дає одержувачу можливість діяти від вашого імені на будь-якому сайті в цьому записі протягом усього часу цих сеансів.
Те саме стосується, менш очевидно, фрагментів журналів, які люди цілий день вставляють у квитки, ланцюжки Slack і вікна чату. Варто мати розпорядок дня.
Що насправді міститься у файлі HAR
HAR – це JSON, і він є вичерпним за дизайном. У звичайному експорті ви знайдете:
- Сеансові файли cookie для кожного торкається домену, повністю, як надіслано. Це головне: сеансовий файл cookie є обліковим даним носія, і одержувачу не потрібен ваш пароль, щоб використовувати його.
Authorizationзаголовки, включаючи токени-носії та облікові дані базової автентифікації, які легко декодуються.- Токени в рядках запиту. Посилання для скидання пароля, підписані URL-адреси, ключі API, передані як параметри, коди OAuth у середині потоку.
- Органи запиту. Усе, що ви ввели у форму під час запису, включаючи форму входу, якщо запис почався до того, як ви ввійшли.
- Органи реагування. Залежно від параметрів експорту фактичні дані — записи клієнтів, дані облікового запису, внутрішні корисні дані API.
- Усе інше, що у вас було відкрито. HAR призначається для кожної вкладки веб-переглядача, але аналітичні маяки, трафік розширень і фонове оновлення з інших служб також містяться в ньому.
The Засіб очищення файлів HAR бере експорт і видаляє частини, що містять облікові дані — файли cookie, заголовки автентифікації, маркери — залишаючи структуру запиту та відповіді недоторканою, що насправді потрібно людині, яка налагоджує вашу проблему. Вставте його, отримайте очищений файл і прикріпіть його.
Подивіться, що ви надсилаєте
Дезінфікувати шторку краще, ніж не дезінфікувати, але корисною звичкою є пошук. Скопіюйте заголовки підозрілого запиту зі своїх інструментів розробника та запустіть їх Парсер заголовків HTTP: він розбиває необроблений блок на пари ім’я/значення, які можна прочитати, що робить очевидним, коли є X-Internal-Auth або спеціальний заголовок маркера постачальника, який загальний шаблон редагування не визнав би секретним.
Печиво заслуговує на власний вигляд. Вставте a Cookie або Set-Cookie лінія в аналізатор файлів cookie і ви отримуєте кожен файл cookie з його атрибутами — HttpOnly, Secure, SameSite, термін дії. Це перевірка редагування ("які з них є маркерами сеансу?") і перевірка безпеки одночасно: файл cookie сеансу без HttpOnly або з річним терміном придатності — це знахідка сама по собі, і ви вже дивитеся на це.
Термінальний вихід має дві проблеми
Вставлені журнали терміналу містять секрети — рядки підключення, маркери в командах curl, дампи середовища — і вони також містять escape-послідовності ANSI. Ось чому перетворюється барвиста колода ESC[0;32m шум, коли він потрапляє в квиток, і вони ускладнюють читання тексту, а вам – пошук. The Знімач ANSI видаляє колір і коди керування курсором і залишає текст.
Тоді відредагуйте. The редактор даних знаходить повторювані категорії — адреси електронної пошти, IP-адреси, номери телефонів, номери карток, рядки у формі ключів — і послідовно замінює їх, тому журнал усе ще читається як узгоджений слід, а не перетворюється на стіну [REDACTED]. Узгодженість має значення під час налагодження: якщо той самий ідентифікатор користувача скрізь замінено однаковим покажчиком місця заповнення, читач все одно може слідкувати за одним запитом через п’ятдесят рядків.
Зіставлення шаблону не дозволить виявити секрет, який виглядає як звичайний текст, тому прочитайте результат, перш ніж надсилати його. Внутрішні імена хостів, імена клієнтів у полях вільного тексту та шляхи до файлів, що містять імена користувачів, — це три речі, які зберігаються після кожного автоматичного проходу.
Редакція – це не ротація
Найважливіший момент, який люди пропускають: якщо облікові дані вже кудись надіслано, вони не повинні були відправлятися, видалення їх із документа нічого не робить. Одержувач може мати його. Це може бути в архіві електронної пошти, системі квитків, серверній частині чату, чиїйсь локальній папці завантажень або журналах модельного провайдера.
Обертати. Визнайте сеанс недійсним, анулюйте маркер, запустіть ключ API. Потім очистіть файл. Саме в такому порядку, оскільки очищення займає хвилину, а обертання – це частина, яка фактично закриває експозицію.
Вставлення у вікно чату означає публікацію
Зараз налагодження за допомогою помічника є звичайним, і трасування стека з рядком підключення переходить до третьої сторони, коли ви натискаєте Enter. Залежно від продукту та плану цей текст може зберігатися, переглядатися людиною або використовуватися для навчання. Розглядайте будь-яке вставлення в розміщену модель як передачу зовнішній стороні — адже це те, що воно є — і очищайте його так само, як ви очищаєте вкладення до зовнішнього електронного листа.
Це той випадок, коли локальний інструментарій є не перевагою, а головним: кожен інструмент, названий тут, працює у вашому браузері, тому невідредагована версія файлу ніколи не завантажується ні до чого на шляху до очищення. Очищення журналу, що містить секрети, шляхом вставлення його на веб-сайт, який обробляє його на сервері, означає, що секрет уже залишився, як би не виглядав очищений результат.
Контрольний список, який варто закріпити
- Запишіть HAR у приватному вікні, відкривши лише відповідну вкладку, і почніть запис після ви увійшли.
- Проведіть експорт через дезінфікуючий засіб.
- Відкрийте очищений файл і знайдіть його
token,secret,key,auth,passwordі власні доменні імена. - Видаляйте коди ANSI з будь-якого виводу терміналу, а потім редагуйте ідентифікатори.
- Прочитайте результат до кінця. Він коротший, ніж ви думаєте.
- Обертайте все, що було живе в оригіналі.
- Надішліть його через канал, термін дії якого закінчується, а не той, який архівується назавжди.
Шість хвилин роботи проти витоку облікових даних, який інакше стояв би в черзі на запити на невизначений термін.
Творець TextArray — створення безкоштовних інструментів, націлених на конфіденційність, які повністю працюють у вашому браузері.