Авторы статьи "Если не помните пароль от резервной копии"предлагают восстановление пароля резервной копии 1С-Битрикс, воспользовавшись специальным API.

Для этого в админ-панели сайта, в Командной строке выполняем команды:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/backup.php"); var_dump(CPasswordStorage::Get('dump_temporary_cache'));

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

Если админ-панель не работает

Если админ-панель недоступна, можно попробовать восстановить пароль, создав скрипт в корневом каталоге сайта:

<?php

$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/../..");

$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];

define("NO_KEEP_STATISTIC", true);

define("NOT_CHECK_PERMISSIONS",true);

define('BX_NO_ACCELERATOR_RESET', true);

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/backup.php");

var_dump(CPasswordStorage::Get('dump_temporary_cache'));

При обращении к скрипту будет выведен пароль.

Если скрипт не работает

Необходимо найти ключ, который используется для шифрования бэкапов. Один из вариантов – выполнить grep по файлам кеша сайта:

# cd bitrix/managed_cache/MYSQL && find -type f -iname '*.php' -print0 | xargs -0 grep "dump_temporary_cache"

Если кеша нет, то значение можно поискать в базе, по ключу dump_temporary_cache (например, по sql дампу базы).

Далее нужно где-нибудь создать скрипт:

<?php

function decrypt($data, $md5_key) {

if (function_exists('openssl_decrypt'))

$val = openssl_decrypt($data, 'BF-ECB', $md5_key, OPENSSL_RAW_DATA | OPENSSL_NO_PADDING);

else

$val = mcrypt_decrypt(MCRYPT_BLOWFISH, $md5_key, $data, MCRYPT_MODE_ECB);

return $val;

}

$temporary_cache = base64_decode('KEY_KEY_KEY');

$pass = decrypt($temporary_cache, 'BITRIX_LICENSE_KEY');

echo $pass;

Вместо KEY_KEY_KEY нужно подставить найденный ключ, а вместо BITRIX_LICENSE_KEY ключ лицензии Битрикса (можно посмотреть в bitrix/license_key.php). При выполнении скрипта, он вернет что-то вроде:

CACHE_v4xxxxxxxxs

v4xxxxxxxxs– это и есть пароль, который можно использовать для расшифровки архивов бэкапа.

На сайте используются файлы cookie. Продолжая просмотр сайта, вы разрешаете их использование. Политика конфиденциальности