Перейти к содержимому
Noroxi

CWE-798 · 1 577 записей

Жёстко заданные учётные данные

Почему это происходит?

Ради удобства поддержки или производства в ПО встраивается учётная запись, одинаковая на всех устройствах. Данные, полученные с одного устройства, действуют на всех.

Как предотвратить

  1. 01Назначайте каждому устройству уникальные учётные данные при производстве.
  2. 02Требуйте смены пароля при первоначальной настройке.
  3. 03Автоматически проверяйте пакеты ПО на наличие встроенных секретов.

Уязвимый и исправленный код

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

Уязвимый код

ts
const SUPPORT_USER = "support";const SUPPORT_PASS = "zhestko-zadannyy-parol";

Исправленный код

ts
const creds = await provisioning.deviceCredentials(deviceId);if (creds.mustRotate) await forcePasswordChange(deviceId);

Есть ли этот шаблон в вашем коде?

В рамках услуги «Пентест инфраструктуры и сети» мы целенаправленно ищем этот класс. Результаты передаются с указанием номеров строк.

CVE этого класса

1 577 записей

Все классы уязвимостей