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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
phpmyadmin-setup-validate — phpMyAdmin 5.2.3 - 高 - リモート - 残存 - setup/validate が依然として到達可能 | Kitploit
ツール/GitHubGitHub/abraxas/phpmyadmin-setup-validate
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストラボと実践
GitHubabraxas/phpmyadmin-setup-validate

phpmyadmin-setup-validate

phpMyAdmin 5.2.3 - 高 - リモート - 残存 - setup/validate が依然として到達可能

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - phpmyadmin-setup-validate

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-setup-validate

phpmyadmin-setup-validate

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

phpMyAdmin 5.2.3 (タグ RELEASE_5_2_3、コミット 962857e)。setup/index.php は config.inc.php が存在すると終了する。setup/validate.php は終了しない。これは依然として $isMinimumCommon の下で読み込まれ、公開ログインページから CSRF トークンを取得し、JSON の values フィールドにあるホスト、ポート、ユーザー、パスワードに対して Validator::testDBConnection -> mysqli_connect を呼び出す。

未認証のクライアントは / に GET してセッション Cookie とトークンを取得し、次に setup/validate.php に id=Server と任意の Servers/1/host および Servers/1/port を POST する。phpMyAdmin ホストはそのアドレスに対して TCP MySQL ハンドシェイクを開始する。これが MySQL プロトコル経由の SSRF である: 内部の 3306、内部サーバーに対するクレデンシャルスタッフィング、タイミングと mysqli エラーによるポートオラクル。そのポートで MySQL を話すものがない限り、HTTP メタデータ SSRF ではない。hide_db はまた、ユーザー正規表現を preg_match に補間する。このラボではその ReDoS パスは実行しなかった。

公式の phpmyadmin:5.2.3 イメージは setup/ を削除する。この残存物は、そのディレクトリがまだウェブルートにある場合にのみ適用され、これはインストール後の一般的な残存物である。ラボは 5.2.3 tarball から setup/ を復元するため、ピンは RELEASE_5_2_3 と一致する。

PMASA-2016-44 / CVE-2016-6621 は一部のセットアップ SSRF をカバーしていた。「config が存在する場合にセットアップを無効化する」チェックは validate.php / config.php には適用されなかった。

IDCVE はまだなし
クラスSSRF (MySQL プロトコル)
到達範囲リモート (setup/ がまだウェブから到達可能な場合は未認証)
CWECWE-918
CVSSHigh: 7.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
製品phpMyAdmin
影響を受ける5.2.3 タグ RELEASE_5_2_3 (962857e)、setup/ がまだ docroot にある場合
認証未認証。公開ログインページからの CSRF トークン。MySQL ログインなし。
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1:19230 のみ

攻撃者ができること

残存する setup/ ツリーに到達できる者は誰でも、phpMyAdmin ホストに、任意のホストとポートへの MySQL プロトコル TCP 接続を開かせることができる。

権限メソッド / パスラボで実証済みか推測か
PMA ホストから攻撃者の host:port への TCP を開く (アウトバウンド接続の完全性; そのポートの偵察)未認証の POST /setup/validate.php id=Server と Servers/1/host + Servers/1/port、および GET / からのトークンラボで実証済み。oracle:13306 のオラクルが PMA コンテナから PMA-SETUP-VALIDATE-WITNESS を記録した
validate が有効なままセットアップ UI が無効であることを確認GET /setup/index.phpラボで実証済み。ボディに「setup is disabled」/ configuration already exists が含まれる
ログインページの CSRF トークンなしでフェイルクローズ同じ POST、token なしラボで実証済み。オラクルヒットはゼロ
mysqli エラーとタイミングによるポート / クレデンシャルオラクル同じ testDBConnection推測。ラボのボディは、オラクルが受け入れてから閉じた後、mysqli_connect(): (HY000/2006): MySQL server has gone away だった
内部の 3306 と MySQL を話し、投稿されたユーザー/パスワードを試す同じ mysqli_connect推測。ラボの db サービスには向けられていない
ユーザー正規表現を補間する validateRegex による ReDoSid=Servers/1/hide_db推測。実行されていない

このラボでクローズ: HTTP メタデータ SSRF (ハンドシェイクは MySQL であり、GET /latest/meta-data ではない)、未認証の PMA ログイン、OS シェル、およびセットアップウィザード自体 (index.php は無効のまま)。setup/ がデプロイされていない場合 (公式イメージのデフォルト) は FAIL。

発見方法

RELEASE_5_2_3 の 8 つの並列ソースハント。setup/index.php には config 存在時の fatal がある。setup/validate.php にはない。setup/lib/common.inc.php は $isMinimumCommon を設定し、CONFIG_FILE を探さない。

誤った道: 公式イメージをこの残存物として扱う (それは setup/ を削除する); ログインページのトークンなしで POST する (オラクルヒットはゼロ); これを HTTP メタデータ SSRF として扱う (ハンドシェイクは MySQL)。

ラボ

python3 phpmyadmin-setup-validate-Abraxas-Labs.py

または

cd lab
./run.sh

ループバックのみ: http://127.0.0.1:19230。Compose プロジェクト phpmyadmin-setup-validate。Dockerfile は 5.2.3 tarball から setup/ を復元し、ポート 13306 で TCP オラクルを実行する。ウィットネス PMA-SETUP-VALIDATE-WITNESS。

SUCCESS phpmyadmin-setup-validate how=live tcp=yes setup-index-disabled=yes PMA-SETUP-VALIDATE-WITNESS

修正

file_exists(CONFIG_FILE) の fatal を setup/lib/common.inc.php に置き、すべての セットアップスクリプトが終了するようにする。testDBConnection のホストを制限する。ユーザー文字列から preg_match のデリミタを構築しない。

参考文献

  • github.com/phpmyadmin/phpmyadmin タグ RELEASE_5_2_3 (962857e)
  • setup/index.php の config 存在時 fatal
  • setup/validate.php にはそのチェックがない
  • libraries/classes/Config/Validator.php testDBConnection / mysqli_connect
  • 同じピンの残存物: phpmyadmin-webauthn · phpmyadmin-pmadb-central-sqli · phpmyadmin-designer-json-sqli · phpmyadmin-csrf-sql
  • CWE-918

ライセンス

GNU Affero GPL v3.0。LICENSE を参照。ループバックラボのみ。無保証。

ツールをダウンロード