понедельник, 20 июня 2022 г.

Восстановление доступа к ПК с неизвестным паролем и с ОС Windows XP и Windows 7

Один из возможных простых способов получения доступа к ПК с ОС Windows XP и Windows 7 – это сбросить пароль учетной записи Администратора ПК с помощью утилиты «Offline NT Password and Registry editor».
Утилита «Offline NT Password and Registry editor» скачивается с сайта https://pogostick.net/~pnh/ntpasswd/ и фактически представляет собой загрузочный мини-образ ОС Linux. Ссылки для скачивания образа для USB: https://pogostick.net/~pnh/ntpasswd/bd080526.zip
Скаченный архив распаковываем на пустую флешку и в консоли Windows выполняем команду:  

>X:syslinux.exe -ma X:

Где X – это буква флешки в текущем Windows. После выполнения данной команды USB носитель с мини-образом Linux готов для использования.
Теперь необходимо загрузиться с данной флешки на том ПК, где нужно сбросить пароли Администратора Windows.
При загрузке с флешки с «Offline NT Password and Registry editor» получаем приглашение:

Тут нужно просто нажать «Enter».
Далее программа предложит выбрать раздел жесткого диска с которого производиться загрузку ОС Windows. В этом разделе с файлами Windows находиться файл с паролями «SAM», доступ к которому и нужно получить нашей программе.  
Далее программа попросит подтвердить выбор раздела (ветки реестра), где расположены данные по учетным записям.
Затем нужно указать действие, которое требуется провести, а именно «Password reset»
На следующем этапе выбираем «Edit user data and passwords»
 И вписываем код RID пользователя
Для пользователя User, например, я ввел «03eb». Вводим коды, а не имена, чтобы не привязываться к нечитаемым именам, заданным, например, кириллицей.
Попадаем в раздел меню для совершения действий с пользователем. Тут выбираем 1 «Clear (blank) user password»  и нажимаем Enter.
Произойдет сброс пароля. На экране отобразиться лог изменений.
Для выхода из режима редактирования пользователя набираем «q». Мы перейдем  меню выбора действий. Опять выбираем «q». И соглашаемся провести изменения в системе, набрав «y».
Теперь при нормальной загрузке ПК пароль пользователя нужно оставить пустым и вход в ОС Windows успешно произойдет.

воскресенье, 5 июня 2022 г.

PHP. Переход от запросов с помощью mssql_query к запросам PDO.

В PHP есть устаревшие функции работы с MSSQL - mssql_connect и mssql_query. В один прекрасный момент они перестают работать. Выражается это так, что при выполнении директивы mssql_query скрипт выдает «Ошибка сегментирования» и программа останавливается. Причем в логах ничего дополнительно не пишется.
Для того, что бы и продолжать работать с MS SQL необходимо переписать скрипт на использование PDO.


Пример, того как было:
$link = mssql_connect('IP-АДРЕС', 'ЛОГИН', 'ПАРОЛЬ');
if (!$link || !mssql_select_db('БАЗА-ДАННЫХ', $link)) {
    die('Unable to connect or select database!');
}
$q = "СТРОКА ЗАПРОСА";
$resp = mssql_query($q);
while($row = mssql_fetch_assoc($resp)) {
        echo var_dump($row).PHP_EOL;
}


Пример того, как стало:
$db = new PDO('dblib:host=IP-АДРЕС;dbname=БАЗА-ДАННЫХ;charset=utf8', 'ЛОГИН', 'ПАРОЛЬ');
$q = "СТРОКА ЗАПРОСА";   
$result = $db->query($q);
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
    echo var_dump($row).PHP_EOL;
}


среда, 18 мая 2022 г.

Обновление используемой версии openssl 1.0 в Linux (в старых Linux)

********************************** Обновление openssl до версии 1.1 ****************

Проверяем текущую версию openssl:
# openssl version
OpenSSL 1.0.0-fips 29 Mar 2010


Скачиваем openssl-1.1.1n.tar.gz с сайта https://www.openssl.org/source/ через браузер и загружаем на сервер по SFTP в папку /usr/src

В консоли сервера распаковываем архив:
# cd /usr/src
# tar xzf openssl-1.1.1n.tar.gz
# cd openssl-1.1.1n/


Выполняем процедуру конфигурирования, сборки и установки:
#./config --prefix=/usr/local/openssl-1-1 --openssldir=/usr/local/openssl-1-1
# make
# make install

Первый запуск
# /usr/local/openssl-1-1/bin/openssl version
выдает ошибку:
/usr/local/openssl-1-1/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or direct
Делаем символьные ссылки:
# ln -s /usr/local/openssl-1-1/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
# ln -s /usr/local/openssl-1-1/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

Теперь версия 1.0 присутствует в системе:
# /usr/local/openssl-1-1/bin/openssl version
OpenSSL 1.1.1n  15 Mar 2022


Для использования новой версии openssl необходимо внести изменения в профиль текущего пользователя
# nano ~/.bashrc
Добавляем строку в конец
export PATH="/usr/local/openssl-1-1/bin:${PATH}"
Выполняем перезагрузку профиля:
# . ~/.bash_profile
И теперь:
# openssl version
OpenSSL 1.1.1n  15 Mar 2022



********************************** Обновление openssl до версии 3 ****************

Проверяем текущую версию openssl:
# openssl version
OpenSSL 1.0.0-fips 29 Mar 2010


Скачиваем openssl-3.0.2.tar.gz с сайта https://www.openssl.org/source/ через браузер и загружаем на сервер по SFTP в папку /usr/src

В консоли сервера распаковываем архив:
# cd /usr/src
# tar xzf openssl-3.0.2.tar.gz
# cd openssl-3.0.2

Выполняем процедуру конфигурирования, сборки и установки:
#./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
<.....>
Creating Makefile.in
Creating Makefile
**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL.md file first)      ***
***                                                                ***
**********************************************************************
# make
# make install


Для использования openssl-3 необходимо сделать символьные ссылки:
# ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
# ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3

Теперь проверим версию:
# /usr/local/openssl/bin/openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)


Для использования новой версии openssl необходимо внести изменения в профиль текущего пользователя
# nano ~/.bashrc
Добавляем строку в конец
export PATH="/usr/local/openssl/bin:${PATH}"
Выполняем перезагрузку профиля:
# . ~/.bash_profile
И теперь:
# openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)