hsqldb形式のデータベースファイル(.data
,.properties
、.script
ファイル)がありますが、以前にそれらを管理していたユーザーが資格情報を残していません。hsqldbバイパス認証:忘れたユーザーとパスワードをリセットする
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) ...:私はデフォルトの「sa」ユーザとデフォルトの空のパスワードを渡し、(例えばSqlToolかのDatabaseManagerなど)、スタンドアロンのファイルベースのデータベースにアクセスするための任意の手段を使用してデータベースに接続しようとすると、私はそのような何かを得ます
hsqldb認証と承認のスキーム全体を簡単にバイパスし、 "sa"ユーザーを完全な権利でリセットする方法はありますか?私はhsqldbのドキュメント全体を掘り下げ、Google上でいくつかの調査をしましたが、それをバイパスする手段が見つかりませんでしたか?
また、ブルートフォースなしでは完全に不可能です(つまり、ファイルは実際にで暗号化されており、特定のパスワードでに暗号化されています)。 This questionは、パスワードが.script
ファイルに保存されていると述べていますが、またはBINARY
の形式(私は裸眼ではどちらにもわかりません)に設定されているように見えます。SET SCRIPTFORMAT
コマンドを使用しています。 .data
ファイルにあります。バイナリ形式を解読することは可能ですか?
ありがとうございました!私は認証スキームをバイパスする "公式の"方法はないと仮定しますが、最初の接続試行時にすべての認証データを明らかにするためにソースを修正するのは簡単です。他の誰かが必要とする場合は、 'UserManager#createUser(name、password)'に 'name'と' password'のダンプを追加するだけです。 – GreyCat