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