Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
phpmyadmin-pmadb-central-sqli — phpMyAdmin 5.2.3 — высокий — удалённый — SQLi — остаточный запрос central columns pmadb | Kitploit
Инструменты/GitHubGitHub/abraxas/phpmyadmin-pmadb-central-sqli
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеЛаборатории и Практика
GitHubabraxas/phpmyadmin-pmadb-central-sqli

phpmyadmin-pmadb-central-sqli

phpMyAdmin 5.2.3 — высокий — удалённый — SQLi — остаточный запрос central columns pmadb

Репозиторий
3 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Abraxas Labs - phpmyadmin-pmadb-central-sqli

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-pmadb-central-sqli

phpmyadmin-pmadb-central-sqli

Класс: SQLi Доступ: Удалённый

phpMyAdmin 5.2.3 (тег RELEASE_5_2_3, коммит 962857e). Central columns записывает col_extra, конкатенируя POST-параметры extra и attribute в SQL-литерал в одинарных кавычках через соединение control-user. Соседние поля проходят через escapeString. Эти два — нет.

Аутентифицированный пользователь отправляет POST на index.php?route=/database/central-columns с multi_edit_central_column_save=1 и кавычкой в field_attribute (или col_extra). Затем getInsertQuery / updateOneColumn выполняют эту строку от имени control-пользователя pma к pma__central_columns. Эта учётная запись — пользователь хранилища конфигурации, а не залогиненный SQL-пользователь.

CVE-2016-5703 — это имя базы данных в central columns. Эти поля extra и attribute не были той уязвимостью.

IDCVE пока нет
КлассSQLi (control-user на pma__central_columns)
ДоступУдалённый (аутентифицированный вход по cookie; pmadb central columns включён)
CWECWE-89
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
ПродуктphpMyAdmin
Затронуто5.2.3 тег RELEASE_5_2_3 (962857e)
АутентификацияАутентифицированный вход по cookie. pmadb central columns включён.
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1:19210

Что может сделать атакующий

Аутентифицированный пользователь phpMyAdmin, имеющий доступ к Central columns, может внедрить SQL от имени control-пользователя в pma__central_columns.

ПривилегияМетод / путьДоказано в лаборатории или предположено
Сломать строку INSERT/UPDATE control-пользователя (целостность SQL pmadb)POST index.php?route=/database/central-columns multi_edit_central_column_save=1 с кавычкой в field_attribute / col_extraДоказано в лаборатории. JSON-ошибка #1064. Свидетель PMA-PMADB-CENTRAL-SQLI-WITNESS в ошибке control-пользователя
Оставить соседние поля в in-bandТот же POST, кавычка в field_nameДоказано в лаборатории. Строка сохраняется как neg'col. escapeString сработал
Читать или перезаписывать строки central-column других пользователейТот же sink, как только строка закрытаПредположено. Лаборатория останавливается на синтаксической ошибке; нет stacked query
Дополнительные выражения от имени control-пользователяТот же sink, если соединение control mysqli допускает multi-queryПредположено. По умолчанию mysqli::query — одиночное выражение. Здесь не включено
Добраться до других таблиц pmadb (bookmarks, history, pma__userconfig)Только если возможны stacked queries или запись в стиле INTOПредположено. Control-пользователь в этой лаборатории имеет только DML на phpmyadmin.*

Закрыто в этой лаборатории: неаутентифицированный доступ, SQL-пользователь залогиненного appuser (только appdb), OS shell и stacked queries. Функция не работает, если pmadb / central columns выключены (это FAIL, а не эта уязвимость).

Как я это нашёл

Восемь параллельных поисков по исходникам RELEASE_5_2_3. Соседние поля в CentralColumns.php проходят через escapeString. Extra и attribute объединяются через implode в литерал в одинарных кавычках. CVE-2016-5703 — это имя базы данных, а не эти столбцы.

Ошибочные пути: считать кавычку в field_name этой уязвимостью (она сохраняется как neg'col; это негативный результат); ожидать, что general log покажет неэкранированный свидетель (INSERT падает с #1064 до успешной записи); считать выключенный pmadb этой уязвимостью (функция не работает).

Лаборатория

python3 phpmyadmin-pmadb-central-sqli-Abraxas-Labs.py

или

cd lab
./run.sh

Только loopback: http://127.0.0.1:19210. Образы phpmyadmin:5.2.3 и mysql:8.0. Compose-проект phpmyadmin-pmadb-central-sqli. Свидетель PMA-PMADB-CENTRAL-SQLI-WITNESS.

SUCCESS phpmyadmin-pmadb-central-sqli how=live insert-syntax=yes field-name-escaped=yes general-log-unescaped=false error-has-witness=true PMA-PMADB-CENTRAL-SQLI-WITNESS

Исправление

escapeString / quoteString(..., CONNECT_CONTROL) для extra и attribute. Allowlist auto_increment, UNSIGNED, BINARY, UNSIGNED ZEROFILL и on update CURRENT_TIMESTAMP. quoteString в phpMyAdmin 6.x для JSON-блоба designer — это исправленная форма для этого класса конкатенации в pmadb.

Ссылки

  • github.com/phpmyadmin/phpmyadmin тег RELEASE_5_2_3 (962857e)
  • libraries/classes/Database/CentralColumns.php getInsertQuery / updateOneColumn
  • Controllers/Database/CentralColumnsController.php POST multi_edit_central_column_save
  • Маршрут GET|POST /database/central-columns
  • Остатки того же пина: phpmyadmin-webauthn · phpmyadmin-designer-json-sqli · phpmyadmin-setup-validate · phpmyadmin-csrf-sql
  • CWE-89

Лицензия

GNU Affero GPL v3.0. См. LICENSE. Только loopback-лаборатория. Без гарантий.

Скачать инструмент