Аутентификация обхода hsqldb: сброс забытого пользователя и пароля - PullRequest
0 голосов
/ 12 января 2012

У меня есть набор файлов базы данных (например, .data, .properties и .script file) в формате hsqldb, но человек, который управлял ими ранее, завершил работу и не оставил учетных данных. Когда я пытаюсь подключиться к базе данных, используя любые средства для доступа к автономной файловой базе данных (например, SqlTool или DatabaseManager), передавая пользователя по умолчанию «sa» и пустой пароль по умолчанию, я получаю что-то вроде этого:

java.sql.SQLException: User not found: SA
        at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.(Unknown Source)
        at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
        at org.hsqldb.jdbcDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
...

Есть ли способ легко обойти всю схему аутентификации и предоставления прав hsqldb и просто сбросить пользователя "sa" в его полных правах? Я выкопал всю документацию по hsqldb и провел некоторые исследования в Google, но не могу найти средства, чтобы просто обойти это?

Или это абсолютно невозможно без перебора (то есть файл фактически зашифрован с заданным паролем)? В этом вопросе упоминается, что пароли хранятся в файле .script, но похоже, что у меня установлен формат COMPRESSED или BINARY (я не могу сказать, какой из них с моим голым глаза) с помощью команды SET SCRIPTFORMAT, хотя я вижу необработанные данные в реальном времени в файле .data. Можно ли расшифровать двоичный формат?

1 Ответ

1 голос
/ 12 января 2012

Если вы видите строки открытого текста в файле .data, значит, база данных не зашифрована.

Поскольку HSQLDB является открытым исходным кодом, вы можете редактировать исходный код, чтобы выводить имя пользователя и пароль на консоль при открытии базы данных. Для этого найдите класс с именем User. Это невозможно сделать с зашифрованными базами данных, которые вообще не открываются без ключа шифрования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...