1с требует пароль если его нет

Обновлено: 07.07.2024

Все мы знаем, что сами пароли пользователей в базе 1С не хранятся. Хранятся только некие "значения" этих паролей. Например, хранимое значение пароля "password" имеет вид "W6ph5Mm5Pz8GgiULbPgzG37mj9g=,ESu3kTBHkd3PaS4p/VzxSbNf6jc=". Сохранённые значения паролей можно получить через свойство СохраняемоеЗначениеПароля объекта ПользовательИнформационнойБазы:

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

Но это всё неинтересно, т.к. мы в этом случае обладаем административными правами и имеем доступ к базе. А что делать, если мы не можем войти в базу ни под каким пользователем ?

2. Получение хэша пароля

Хэш = СтрЗаменить(Base64Значение(Лев(СохраняемоеЗначение, Найти(СохраняемоеЗначение, ",") - 1)), " ", "");

Следует отметить, что СохраняемоеЗначение - это строка, которая хранит в себе два значения: для пароля и для пароля в верхнем регистре, разделенные запятой. Поэтому для получения хэша нужно взять первую (левую) часть сохраняемого значения.

Для клиент-серверного варианта вопрос получения содержимого поля DATA таблицы V8USERS остается пока открытым. Может кто-то подскажет, как извлечь оттуда данные ? В частности, можно воспользоваться выгрузкой базы в формате *.dt (архивная копия наверняка где-то завалялась, необязательно актуальная), чтобы получить *.1cd, а дальше действовать через утилиту Tool_1CD.

3. А что дальше ? Хэш - не пароль

Итак, мы имеем хэш пароля, сформированный по алгоритму SHA-1. А это уже что-то.

Известно, что в "обратную сторону" по хэшу SHA-1 получить пароль практически невозможно. Поэтому все (т.е. единственный на сейчас) методы восстановления пароля по хэшу сводятся к банальному брутфорсу (перебору). Суть перебора проста - формируем строку, получаем для неё хеш по нужному алгоритму, сравниваем полученный хэш с нашим искомым хэшем. Если хэши совпали - ура, пароль найден. Если нет - формируем следующую строку и ищем дальше. В общем случае мы перебираем все возможные комбинации символов, получаем для них хэши и сравниваем с нашим, пока нам не повезёт.

Скептики скажут, что для восстановления сложного пароля понадобится не одна сотня лет. Это так в общем случае, но есть несколько НО:

  • 1. Львиная доля пользователей баз 1С не заботится о сложности пароля и зачастую ограничивается только цифрами или несколькими буквами.
  • 2. Часто пароли всех пользователей, в том числе и админов, в базе имеют один и тот же вид. Например, только 5 цифр.
  • 3. Всегда можно узнать у какого-либо пользователя ИБ какого примерно вида были пароли. А это информация для маски перебора.
  • 4. Существует масса словарей и сервисов (сайтов) с уже готовыми комбинациями пароль = хэш. Т.е. достаточно ввести хэш и система по своей базе найдет соответствующий ему пароль.

Итак, что имеем в итоге 3-х пунктов:

  • 1. Узнаем сохранённое значение пароля для выбранного пользователя: либо из самой базы (если есть права), либо используя утилиту Tool_1CD (файловая база), либо вытягиваем данные из поля DATA таблицы V8USERS (клиент-сервер).
  • 2. Получаем хэш SHA-1 пароля из левой части сохранённого значения: обработка прилагается.
  • 3. Ищем пароль: формируем хэш строки, сравниваем с полученным хэшем (утилиты перебора по маске), либо интернет-сервисы с базами готовых словарей.

4.1. Получаем сохранённое значение пароля нужного пользователя. Берем базу *.1cd (предварительно можно скопировать файл базы, чтобы не блокировать для работы других пользователей), открываем ее в Tool_1CD, выбираем нужного пользователя в таблице V8USERS и смотрим содержимое поля DATA. Копируем в буфер обмена нужный кусок строки.


4.2. Запускаем обработку получения хэша в любой базе на платформе 8.2 (я создал пустую базу). Обработка элементарная, поэтому ее легко можно сконвертировать под любую другую платформу при необходимости. Копипастим сюда сохранённое значение пароля (из п. 4.1), вводим нужную маску (рекомендуется, иначе состариться успеем) и нажимаем "Восстановить пароль".



Видно, что для пароля от 0 до 6 символов и содержащий буквы и цифры перебор занимает ВСЕГО 12 минут. Сходил, кофе сделал, вернулся - пароль уже подобран !


К слову сказать, мой супер пароль был подобран за 3.5 минуты (6 символов, буквы и цифры). Даже кофе не успел сделать. Вот такие результаты !

Параллельно решил проверить хэш на сайте: результат - мгновенное восстановление пароля ! Кстати на этом сайте хэши можно задать списком, т.е. восстановить пароли сразу всех пользователей базы.


5. Джентельменский набор

6. Подведем итоги

Как выяснилось, в большинстве случаев перебор паролей может дать быстрый результат. В наших реалиях при наличии различных дополнительных условий восстановление пароля пользователя 1С становится простой и решаемой задачей. Как показывает практика и мой личный опыт работы с клиентами, практически всегда пользователи ставят элементарные пароли на доступ в 1С. Бывает, конечно, когда сами админы ставят себе сложный пароль, но какой-нибудь главбух с полными правами при этом влепит себе дату рождения в качестве пароля и всё. Имеем сначала один пароль, потом все остальные. Вариантов использования масса. Причем представленный способ восстановления паролей гарантирует целостность и неизменность базы, т.е. нет изменений на физическом уровне.

Например, пароль, состоящий из:

  • 1. Только из цифр 0..9, длиной максимум 9 символов восстанавливается за максимум 6.5 минут.
  • 2. Только английских букв, длиной 7 символов - за максимум 44 минуты.
  • 3. Буквы и цифры, длиной 6 символов - максимум 12 минут.

Выводы делайте сами )

7. Причина публикации статьи

Во многих организациях халатно относятся к безопасности и правам доступа к данным, в связи с чем практически любой желающий (внутри компании) может в той или иной степени способствовать утечке информации. Поэтому статья призывает обратить внимание разработчиков систем хранения данных к безопасности доступа к данным и устойчивости этих систем к утечкам информации. А также призывает обратить внимание администраторов баз данных на сложность паролей пользователей и способы их авторизации в системе.

Знаю, что многих раздражает необходимость ввода имени и пароля пользователя при входе в базу. Особенно для "тройки" (1С:Бухгалтерия 3.0), в которой пользователь "Администратор" с пустым паролем появился автоматически при переходе со второй редакции:

01

В тех случаях (а их абсолютное большинство), когда ручной ввод имени пользователя и пароля (при его наличии) не является необходимым, можно и даже нужно поступить согласно следующей инструкции.

Вариант первый

1. Запустите окно 1С и выделите в нём нужную базу:

02

03

3. В "Дополнительных параметрах запуска" нам нужно прописать наши имя пользователя и пароль вот в таком виде: /Nимя /Pпароль

Обращаю ваше внимание, что /N и /P пишется английскими буквами.

К примеру, если мы входим в базу под пользователем Администратор с пустым паролем наши параметры будут выглядеть так:

04

Внимание! Если у вас нет пароля, то есть он пустой, имеет смысл вообще не указывать /P. Тогда строка параметров будет такой: /NАдминистратор

Если же мы входим в базу под пользователем Вася с паролем 123, то так:

05

Ну в общем вы поняли, что ничего сложного в составлении этой строки нет

Кстати! Если ваше имя или пароль содержат в себе пробелы, то их нужно заключать в кавычки, например:

/N"Василий Петров" /P"Мой пароль"

После настройки строки параметров запуска нажимаем кнопку "Готово" и пробуем войти в базу.

Теперь запуск базы происходит сразу, без промежуточного окна ввода имени и пароля пользователя.

Вариант второй

Если вы пользуетесь моим Обновлятором - всё намного проще.

В этом случае достаточно один раз выделить базу в списке и прописать пользователя (и пароль если требуется) для доступа к базе:


После этого можно смело запускать базу через двойной щелчок или через контекстное меню базы:


Имя и пароль пользователя больше вводить не потребуется.

Мы молодцы, на этом всё

Кстати, подписывайтесь на новые уроки.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.


Что делать, если клиент 1С повторно запрашивает пароль при подключении к информационной базе? Такое случается при использовании встроенной аутентификации 1С.

Замечено, что подобное происходит при регистрации новых ИБ, первом входе пользователя, а иногда — возникает неожиданно, может «всплывать» у некоторых пользователей спонтанно.

Наиболее вероятное объяснение: при входе программа пытается зайти в тонком клиенте, но затем переключается на толстый клиент. Этот момент отслеживается с помощью Журнала регистрации.

Рекомендации для проверки

1. Войдите в базу ещё раз.

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

2. Задайте тип клиента.

Проверьте отключение режима запуска «Выбирать автоматически» — принудительно укажите тип клиента для ИБ: «толстый» или «тонкий клиент».

Выбор режима запуска

Если вы редактируете файл ibases.v8i, то значение указывается в параметре App (по умолчанию стоит = «автоматически»):

  • ThinClient — тонкий клиент;
  • ThickClient — толстый клиент.
Особенно рекомендуется для файловых баз — установка основного режима запуска «Толстый клиент».

3. Укажите версию.

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

Посмотрите в «C:\Program Files\1cv8» или «C:\Program Files (x86)\1cv8», какая версия платформы у вас установлена — выберите необходимую и укажите в настройках.

Редактирование параметров запуска

Вариации с версией:

  • Удалите в файле ibases.v8i строку с версией (Version=8.3) — просто уберите эту строку из конфигурационного файла. Проверьте вход.
  • Либо укажите комбинацию режима запуска и целевой версии. Например,
  • Или протестируйте вариант с указанием режима и архитектуры платформы. В случае 32-битного клиента:

4. Другой вид аутентификации.

Через «Конфигуратор — Администрирование — Пользователи» выберите аутентификацию операционной системы для учетной записи пользователя 1С.

Тем самым соотнесете учетную запись 1С с локальным или доменным пользователем. Конечно же, отключив признак «Аутентификация 1С:Предприятия». Программа 1С будет стартовать от имени указанного пользователя.

5. Сброс настроек.

Крайний вариант — очистка кэша 1С. Если совсем ничего не помогает. После чего потребуется еще раз повторить шаги, описанные выше в пунктах 1-4.


Фирма 1С готовит обновление платформы 1С, которая исправит положение: на новой форме авторизации в базу появится две новые гиперссылки: «Забыли пароль?» и «Нужна помощь?».

Кнопку «Нужна помощь?» можно настроить так, чтобы при нажатии открывался сайт с инструкцией сброса пароля 1С или контакты ответственного лица.

Возможности кнопки забыли пароль 1С

С кнопкой «Забыли пароль?» все куда интереснее, она имеет три варианта настройки в программе 1С:

  • переход по ссылке – функционал подобен «Нужна помощь»;
  • отправка e-mail из 1С;
  • отправка e-mail из настроенного администратором SMTP-сервера.

С переходом по ссылке все понятно – ее настройка зависит от требований отдела безопасности.


Отправка по e-mail предоставит пользователю максимально простой способ сброса пароля 1С к которому все уже привыкли: он вводит свой e-mail (который должен фигурировать в его учетной записи), ему приходит код безопасности, который далее необходимо ввести в форму вместе с новым паролем.


Естественно, предусмотрены системы, контролирующие количество попыток ввода кода подтверждения, а также можно настроить интервал отправки кода.

SMTP сервер позволит предопределить сервер, с которого будет отправлено письмо, его содержимое и оформление.

Настройки будут располагаться в конфигураторе: «Администрирование – Дополнительные настройки аутентификации».


Также для отработки системы всем пользователям информационной базы будет добавлен новый реквизит «e-mail», по которому и будет производиться поиск. Дополнительно появится переключатель, который позволяет отключить функцию восстановления пароля конкретным пользователям. Стоит упомянуть, что все эти настройки программы 1С будут доступны в коде, в типе данных «ПользовательИнформационнойБазы».


Все события восстановления паролей будут записываться в журнал регистрации, где также будет отражено добавление полей.

Дата публикации 23.09.2021

Использован релиз 3.0.101

Пользователь может изменить свой пароль для входа в программу, если это не запрещено ему администратором программы. Для изменения пароля используется команда "Сменить пароль" (раздел: Администрирование).


  1. Раздел: Администрирование.
  2. Команда "Сменить пароль" находится в блоке "Сервис" (рис. 2).
  3. Если команды "Сменить пароль" в списке нет, добавьте ее. Нажмите значок "Настройки" в верхней правой части окна программы и выберите из списка пункт "Настройка действий". В левом окне формы "Настройка панели действий" в группе "Сервис" выделите команду "Сменить пароль" и по кнопке "Добавить" или двойным щелчком мыши перенесите ее в правое окно формы. Сохраните настройку по кнопке "ОК" (рис. 1).
  4. В блоке "Сервис" появится команда "Сменить пароль" с использованием которой пользователь может изменить свой пароль, если его изменение не запрещено администратором программы (см. здесь) (рис. 2).
  5. Для изменения пароля укажите старый и новый пароль с его подтверждением и нажмите кнопку "Установить".
  6. Также пароль для пользователя может быть изменен администратором программы (см. здесь).



Смотрите также

Читайте также: