9001 - Pentesting HSQLDB
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
HSQLDB (HyperSQL DataBase) ist das führende SQL-relationales Datenbanksystem, das in Java geschrieben ist. Es bietet eine kleine, schnelle, mehrthreadige und transaktionale Datenbank-Engine mit In-Memory- und festplattenbasierten Tabellen und unterstützt eingebettete und Servermodi.
Standardport: 9001
Beachten Sie, dass dieser Dienst standardmäßig wahrscheinlich im Speicher läuft oder an localhost gebunden ist. Wenn Sie ihn gefunden haben, haben Sie wahrscheinlich einen anderen Dienst ausgenutzt und versuchen, die Berechtigungen zu erhöhen.
Die Standardanmeldeinformationen sind normalerweise sa
mit einem leeren Passwort.
Wenn Sie einen anderen Dienst ausgenutzt haben, suchen Sie nach möglichen Anmeldeinformationen mit
Note the database name carefully - you’ll need it to connect.
Connect to the DB instance by downloading HSQLDB and extracting hsqldb/lib/hsqldb.jar
. Run the GUI app (eww) using java -jar hsqldb.jar
and connect to the instance using the discovered/weak credentials.
Beachten Sie, dass die Verbindungs-URL für ein entferntes System ungefähr so aussieht: jdbc:hsqldb:hsql://ip/DBNAME
.
We can call static methods of a Java class from HSQLDB using Java Language Routines. Do note that the called class needs to be in the application’s classpath.
JRTs can be functions
or procedures
. Functions can be called via SQL statements if the Java method returns one or more SQL-compatible primitive variables. They are invoked using the VALUES
statement.
Wenn die Java-Methode, die wir aufrufen möchten, void zurückgibt, müssen wir eine Prozedur verwenden, die mit der CALL
-Anweisung aufgerufen wird.
Create function:
Funktion ausführen:
You can find a list of system properties here.
Sie können das Java-Gadget com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename
verwenden, das im JDK (automatisch in den Klassenpfad der Anwendung geladen) enthalten ist, um hexadezimal codierte Elemente über ein benutzerdefiniertes Verfahren auf die Festplatte zu schreiben. Beachten Sie die maximale Größe von 1024 Bytes.
Create procedure:
Führen Sie das Verfahren aus:
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)