PostgreSQL injection
Якщо ви зацікавлені в кар'єрі хакера та хочете взламати невзламне - ми шукаємо співробітників! (вимагається вільне володіння польською мовою, як письмово, так і усно).
Ця сторінка має на меті пояснити різні трюки, які можуть допомогти вам використовувати виявлене вразливість SQL-ін'єкції в базі даних PostgreSQL та доповнити трюки, які ви можете знайти на https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md
Взаємодія з мережею - Підвищення привілеїв, Сканер портів, Розкриття відповіді на виклик NTLM та Ексфільтрація
Модуль PostgreSQL dblink
пропонує можливості для підключення до інших екземплярів PostgreSQL та виконання TCP-підключень. Ці можливості, спільно з функціоналом COPY FROM
, дозволяють виконувати дії, такі як підвищення привілеїв, сканування портів та захоплення відповіді на виклик NTLM. Для детальних методів виконання цих атак перевірте, як виконати ці атаки.
Приклад ексфільтрації за допомогою dblink та великих об'єктів
Ви можете прочитати цей приклад, щоб побачити приклад CTF того, як завантажити дані великих об'єктів, а потім ексфільтрувати вміст великих об'єктів всередині імені користувача функції dblink_connect
.
Атаки на PostgreSQL: Читання/запис, RCE, підвищення привілеїв
Перевірте, як скомпрометувати хост та підвищити привілеї з PostgreSQL в:
page5432,5433 - Pentesting PostgresqlОбхід WAF
Функції рядків PostgreSQL
Маніпулювання рядками може допомогти вам обійти WAF або інші обмеження. На цій сторінці ви можете знайти деякі корисні функції рядків.
Стекові запити
Пам'ятайте, що PostgreSQL підтримує стекові запити, але деякі програми викинуть помилку, якщо очікується лише 1 відповідь, а отримано 2. Проте ви все ще можете зловживати стековими запитами через Внедрення часу:
XML трюки
query_to_xml
Ця функція поверне всі дані у форматі XML лише в одному файлі. Це ідеально підходить, якщо ви хочете вивантажити багато даних лише в 1 рядок:
database_to_xml
Ця функція вивантажить всю базу даних у форматі XML всього в 1 рядку (будьте обережні, якщо база даних дуже велика, оскільки ви можете спричинити DoS або навіть своєму власному клієнту):
Рядки у шістнадцятковому форматі
Якщо ви можете виконувати запити, передаючи їх у вигляді рядка (наприклад, використовуючи функцію query_to_xml
). Ви можете використовувати convert_from
, щоб передати рядок у вигляді шістнадцяткового коду та обійти фільтри таким чином:
Заборонені лапки
Якщо ви не можете використовувати лапки для вашого впливу, ви можете обійти це за допомогою CHR
для основних клозів (конкатенація символів працює лише для основних запитів, таких як SELECT, INSERT, DELETE, тощо. Це не працює для всіх SQL-запитів):
Або з $
. Ці запити повертають однакові результати:
Якщо вас цікавить кар'єра хакера і взламати невзламне - ми шукаємо співробітників! (вимагається вільне письмо і мовлення польською).
Last updated