For the complete documentation index, see llms.txt. This page is also available as Markdown.

9001 - Pentesting HSQLDB

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)!

其他支持HackTricks的方式:

基本信息

HSQLDB (HyperSQL DataBase) 是用Java编写的领先的SQL关系数据库系统。它提供了一个小型、快速的多线程和事务性数据库引擎,支持内存和基于磁盘的表,并支持嵌入式和服务器模式。

默认端口: 9001

9001/tcp open  jdbc      HSQLDB JDBC (Network Compatibility Version 2.3.4.0)

信息

默认设置

请注意,默认情况下,此服务可能在内存中运行或绑定到本地主机。如果您找到了它,您可能已经利用了另一个服务,并且希望提升权限。

默认凭据通常为sa,密码为空。

如果您已经利用了另一个服务,请搜索可能的凭据使用

grep -rP 'jdbc:hsqldb.*password.*' /path/to/search

注意仔细记录数据库名称 - 您将需要它来连接。

信息收集

通过下载 HSQLDB并提取 hsqldb/lib/hsqldb.jar 来连接到数据库实例。使用 java -jar hsqldb.jar 运行 GUI 应用程序 (eww) 并使用发现的/弱凭据连接到实例。

请注意,对于远程系统,连接 URL 将类似于:jdbc:hsqldb:hsql://ip/DBNAME。

技巧

Java 语言例程

我们可以使用 Java 语言例程从 HSQLDB 调用 Java 类的静态方法。请注意,被调用的类需要在应用程序的类路径中。

JRT 可以是 functions 或 procedures。如果 Java 方法返回一个或多个与 SQL 兼容的原始变量,则可以通过 SQL 语句调用函数。它们使用 VALUES 语句调用。

如果我们要调用的 Java 方法返回 void,则需要使用使用 CALL 语句调用的过程。

读取 Java 系统属性

创建函数:

执行函数:

您可以在这里找到系统属性列表。

将内容写入文件

您可以使用位于JDK中的com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename Java小工具(自动加载到应用程序的类路径中)通过自定义过程将十六进制编码的项目写入磁盘。请注意最大大小为1024字节。

创建过程:

执行过程:

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)!

其他支持HackTricks的方式:

最后更新于