Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
phpmyadmin-auth-plugin-unquoted — phpMyAdmin 5.2.3 - 高 - リモート - SQLi - 認証プラグイン識別子が引用符で囲まれていない | Kitploit
ツール/GitHubGitHub/abraxas/phpmyadmin-auth-plugin-unquoted
脆弱性スキャナー脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストデータベースセキュリティ
GitHubabraxas/phpmyadmin-auth-plugin-unquoted

phpmyadmin-auth-plugin-unquoted

phpMyAdmin 5.2.3 - 高 - リモート - SQLi - 認証プラグイン識別子が引用符で囲まれていない

リポジトリを見る
299日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Abraxas Labs - phpmyadmin-auth-plugin-unquoted

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-auth-plugin-unquoted

解説記事: https://abraxaslabs.tech/research/phpmyadmin-auth-plugin-unquoted

phpmyadmin-auth-plugin-unquoted

クラス: SQLi 到達範囲: リモート

phpMyAdmin 5.2.3 (RELEASE_5_2_3 / 962857e) - phpMyAdmin

パスワード変更はデフォルトで有効です。UserPassword.php は POST の authentication_plugin を、許可リストもクォートもなしに ALTER USER ... IDENTIFIED WITH へコピーします。同じ文の中のユーザー名、ホスト、パスワードは escapeString を通ります。MySQL 8 では、投稿されたプラグインが現在のものと異なる場合に WITH 句が出力されます。

サインイン済みの phpMyAdmin ユーザーが、パスワード変更フォームを通じて自身の ALTER USER に SQL を注入します。プラグインフィールド内の追加 SQL はプラグイン名ではなく SQL として扱われます。

IDCVE 未割当
クラスSQLi
到達範囲リモート (認証済み Cookie ログイン、パスワード変更有効)
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 (962857e4f63d42e38f11ff4d63f5e722018add76)
認証認証済み Cookie ログイン。$cfg['ShowChgPassword'] はデフォルトで true。認証タイプは config ではない
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

攻撃者ができること

サインイン済みの phpMyAdmin ユーザーが、パスワード変更フォームを通じて自身の ALTER USER に SQL を注入できます。

権限メソッド / シンク偵察 / 完全性 / 可用性ラボ実証または推測
IDENTIFIED WITH に追加 SQL を送信authentication_plugin を伴う POST index.php?route=/user-passwordphpMyAdmin が構築する文の完全性ラボ実証。生の POST sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/ が SQL ボックス内にクォートされずに現れる
その追加 SQL を MySQL に SQL として解析させる同じ文が mysqld に到達ユーザー接続の完全性ラボ実証。general log はプラグイン sha256_password を保持し、コメントを破棄した。このユーザーには CREATE USER 権限がないため 1227
ブレイクアウトが解析されれば追加の句や追加アカウント同じシンク。スタッククエリはドライバに依存他のアカウントの完全性推測。このラボでは 2 つ目の文の実行や別アカウントの作成は行っていない
ユーザー追加/編集時の同じ連結Privileges.php の IDENTIFIED WITH / MariaDB の VIA権限付与者が構築する文の完全性推測される類似箇所。ラボの POST はパスワード変更のみ

この経路で成立しないもの: 未認証での利用 (Cookie ログインが必要)、config 認証 (パスワード変更が非表示)、RCE、MySQL 8 で GRANT なしのプラグイン変更が成功すること (CREATE USER なしでは 1227)。ユーザー名、ホスト、パスワードはエスケープされたままです。自身のパスワード変更には GRANT は不要です。残る問題はプラグインの自由な差し替えではなく、クォートされていないプラグインフィールドです。

同じピン: WebAuthn CustomServer の残存問題。

発見の経緯

phpmyadmin/phpmyadmin RELEASE_5_2_3 をピン留めしました。PMASA-2025-1/2/3 はすでに 5.2.2 に含まれています。パスワード変更は依然として次のように構築されます:

return 'ALTER USER \'' . $dbi->escapeString($username)
    . '\'@\'' . $dbi->escapeString($hostname)
    . '\' IDENTIFIED WITH ' . $authPlugin . ' BY '

$authPlugin は $_POST['authentication_plugin'] です。MySQL 5.7.37+ および 8.0 では、プラグインが変更されない限り WITH を省略します。別の名前を POST すると、その句が戻ってきます。

すでに記録されている誤った道筋: MySQL 1227 を残存物の失敗として扱うこと(これは追加 SQL がパースされた証拠です); MySQL 8 で GRANT なしのプラグイン変更を主張すること; config-auth をスコープ内として扱うこと; リバースシェル。茶番です。

ラボ

python3 phpmyadmin-auth-plugin-unquoted-Abraxas-Labs.py
# or: cd lab && ./run.sh

対象は http://127.0.0.1:19260 のみ。イメージは phpmyadmin:5.2.3 と mysql:8.0。Compose プロジェクトは phpmyadmin-auth-plugin-unquoted。実行後、スタックは破棄される。

appuser として Cookie ログイン。/user-password に authentication_plugin=sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/ を POST。PMA の SQL クエリボックス: ALTER USER 'appuser'@'%' IDENTIFIED WITH sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/ BY '***'。MySQL の general log はコメントを解析し、IDENTIFIED WITH 'sha256_password' を保存する。ユーザー名はクォートされる。

SUCCESS phpmyadmin-auth-plugin-unquoted how=live unquoted=yes escaped-user=yes plugin=sha256_password PMA-AUTH-PLUGIN-UNQUOTED-WITNESS

修正

SHOW PLUGINS のプラグイン名を許可リスト化する。POST を IDENTIFIED WITH、VIA、plugin= に絶対に補間しないこと。

参考資料

  • github.com/phpmyadmin/phpmyadmin タグ RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
  • libraries/classes/UserPassword.php
  • libraries/classes/Server/Privileges.php
  • 同じピン: PMA-5.2.3-WebAuthn-2FA
  • CWE-89

ライセンス

GNU Affero GPL v3.0。LICENSE を参照。ループバックラボ専用。保証なし。

ツールをダウンロード