9001 - Pentesting HSQLDB
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
HSQLDB (HyperSQL DataBase) は、Javaで書かれた主要なSQLリレーショナルデータベースシステムです。小型で高速なマルチスレッドおよびトランザクショナルデータベースエンジンを提供し、メモリ内およびディスクベースのテーブルをサポートし、埋め込みモードとサーバーモードをサポートしています。
デフォルトポート: 9001
デフォルトでは、このサービスはメモリ内で実行されているか、localhostにバインドされている可能性があります。これを見つけた場合、別のサービスを悪用し、特権を昇格させようとしている可能性があります。
デフォルトの認証情報は通常、sa
と空のパスワードです。
別のサービスを悪用した場合、可能な認証情報を検索してください。
注意してデータベース名を確認してください - 接続するために必要です。
HSQLDBをダウンロードしてhsqldb/lib/hsqldb.jar
を抽出することでDBインスタンスに接続します。java -jar hsqldb.jar
を使用してGUIアプリを実行し、発見した/弱い資格情報を使用してインスタンスに接続します。
接続URLはリモートシステムの場合、次のようになります: jdbc:hsqldb:hsql://ip/DBNAME
。
HSQLDBからJavaクラスの静的メソッドを呼び出すことができます。呼び出すクラスはアプリケーションのクラスパスに含まれている必要があります。
JRTは関数
または手続き
です。関数は、Javaメソッドが1つ以上のSQL互換のプリミティブ変数を返す場合、SQL文を介して呼び出すことができます。VALUES
文を使用して呼び出されます。
呼び出したいJavaメソッドがvoidを返す場合、CALL
文を使用して呼び出される手続きを使用する必要があります。
関数を作成:
実行関数:
You can find a list of system properties here.
com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename
Javaガジェットを使用して、カスタム手順を介して16進エンコードされたアイテムをディスクに書き込むことができます(JDKにあり、アプリケーションのクラスパスに自動的にロードされます)。最大サイズは1024バイトです。
手順を作成:
手続きを実行する:
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)