9001 - Pentesting HSQLDB
Базова інформація
HSQLDB (HyperSQL DataBase) - це провідна SQL реляційна система баз даних, написана на Java. Вона пропонує невеликий, швидкий багатопотоковий та транзакційний двигун баз даних з таблицями у пам'яті та на диску, підтримує вбудований та серверний режими.
Порт за замовчуванням: 9001
Інформація
Налаштування за замовчуванням
Зверніть увагу, що за замовчуванням цей сервіс, ймовірно, працює в пам'яті або прив'язаний до локального хоста. Якщо ви його знайшли, ймовірно, ви використали інший сервіс і хочете підняти привілеї.
За замовчуванням облікові дані зазвичай є sa
з порожнім паролем.
Якщо ви використали інший сервіс, шукайте можливі облікові дані за допомогою
Зверніть увагу на назву бази даних - вам знадобиться це для підключення.
Збір інформації
Підключіться до екземпляру БД, завантаживши HSQLDB та розпакувавши hsqldb/lib/hsqldb.jar
. Запустіть GUI-додаток (вуу) за допомогою java -jar hsqldb.jar
та підключіться до екземпляру, використовуючи виявлені/слабкі облікові дані.
Зверніть увагу, що URL підключення буде виглядати приблизно так для віддаленої системи: jdbc:hsqldb:hsql://ip/DBNAME
.
Хитрощі
Методи мови Java
Ми можемо викликати статичні методи класу Java з HSQLDB, використовуючи Методи мови Java. Зверніть увагу, що викликаний клас повинен бути в шляху до класів додатка.
ММЖ можуть бути функціями
або процедурами
. Функції можна викликати через SQL-оператори, якщо метод Java повертає одну або декілька SQL-сумісних примітивних змінних. Їх викликають за допомогою оператора VALUES
.
Якщо метод Java, який ми хочемо викликати, повертає void, нам потрібно використовувати процедуру, яку викликають за допомогою оператора CALL
.
Читання властивостей системи Java
Створіть функцію:
Виконати функцію:
Ви можете знайти список системних властивостей тут.
Запис вмісту у файл
Ви можете використовувати Java-гаджет com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename
, розташований в JDK (автоматично завантажується в шлях програми), для запису елементів, закодованих у шістнадцяткову систему, на диск через власну процедуру. Зверніть увагу на максимальний розмір 1024 байти.
Створіть процедуру:
Виконати процедуру:
Last updated