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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
phpmyadmin-webauthn — phpMyAdmin 5.2.3 - High - リモート - 2FAスキップ - WebAuthnセレモニーをスキップ可能 | Kitploit
ツール/GitHubGitHub/abraxas/phpmyadmin-webauthn
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト認証ラボと実践
GitHubabraxas/phpmyadmin-webauthn

phpmyadmin-webauthn

phpMyAdmin 5.2.3 - High - リモート - 2FAスキップ - WebAuthnセレモニーをスキップ可能

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - phpmyadmin-webauthn

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

phpmyadmin-webauthn

分類: 2FA バイパス 到達範囲: リモート

phpMyAdmin 5.2.3 (タグ RELEASE_5_2_3)。デフォルトの tarball。web-auth/webauthn-lib は suggest / require-dev。composer install --no-dev ではインストールされない。したがって createServer は CustomServer を使用する。このクラスは response.signature をパースし (フィールドが存在しデコードできる必要がある)、COSE 検証を一切行わない。保存された credentialPublicKey を一切使用しない。製品自身の CustomServerTest は公開鍵なしのアサーションを受け入れる。

構造的チェックは本物である: allowCredentials 内の credential id、clientData.type == webauthn.get、セッションと一致する challenge、origin host、rpIdHash、user-present。署名はパースされ無視される。MySQL パスワードの後、それらのフィールドに一致するガベージな WebAuthn 署名で完全な phpMyAdmin セッションが得られる。それがデータベースである。もし実際に web-auth/webauthn-lib をインストールしているなら、WebauthnLibServer を使用しており、このバグの対象ではない。

IDCVE 未割当
分類2FA バイパス / 署名検証の欠落
到達範囲リモート (cookie ログイン後、WebAuthn がスキップされる)
CWECWE-347, CWE-287
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。デフォルト tarball / composer install --no-dev
認証Cookie ログイン (MySQL パスワード)、その後 WebAuthn がスキップされる
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1:18080 のみ

攻撃者ができること

依然として MySQL パスワード (cookie ログイン) が必要である。そのパスワードの後、一致する challenge、origin host、rpIdHash、user-present、登録済み credential id、およびガベージな署名を含む webauthn_request_response を POST する。通常の UI に到達する。2FA は消滅する。それはデータベース (SQL、ユーザー、エクスポート) であり、ホスト上の PHP シェルではない。

もし実際に web-auth/webauthn-lib をインストールしているなら、WebauthnLibServer を使用しており、このバグの対象ではない。

権限メソッド / パスラボで実証済みまたは推測
認証器なしで WebAuthn 2FA を完了 (第二要素の完全性)パスワード後に POST webauthn_request_response、ガベージ署名ラボで実証済み。still_2fa=False landed=True
その MySQL ユーザーとして完全な PMA (SQL ボックスの完全性 + 偵察)同一セッションラボで実証済み。ホーム UI マーカーが存在
MySQL パスワードをスキップ未認証 POSTラボで実証済み、クローズ。ログイン画面に留まる
web-auth/webauthn-lib インストール済みでの同一バイパスWebauthnLibServerクローズ。この残存物ではない
OS RCE / リバースシェルこの残存物クローズ

この残存物でクローズ: 未認証 PMA、ホスト上の PHP シェル、および実際に web-auth/webauthn-lib をインストールした tarball をこのバグとして扱うこと。

発見の経緯

createServer を読み、次に parseAndValidateAssertionResponse を読み、次に公開鍵を渡さないユニットテストを読んだ。構造的チェックは本物である。署名はパースされ無視される。

誤った方向: 事前のパスワードセッションなしで WebAuthn JSON を POST すること; 構造的チェックに失敗する署名; Webauthn\Server が依然として存在 (誤ったサーバークラス); このセッション由来でない challenge; origin host の不一致; user-present フラグがクリア; allowCredentials にない credential id。

ラボの Dockerfile は 5.2.3 をコピーし、composer install --no-dev を実行し、その後 vendor/web-auth を削除するため、CustomServer が使用される。最後の php -r は Webauthn\Server が存在すれば 1 で終了する。init.sql はハードウェアキーなしで appuser に WebAuthn 2FA を登録する。PoC は署名 not-a-real-signature-PMA-WEBAUTHN-BYPASS を POST する。

ラボ

Dockerfile の隣にピンをクローンし、次を実行:

cd lab
git clone --depth 1 --branch RELEASE_5_2_3 https://github.com/phpmyadmin/phpmyadmin.git src
./run.sh

またはそのクローン後に pack ルートから:

python3 phpmyadmin-webauthn-Abraxas-Labs.py

ループバックのみ: http://127.0.0.1:18080。Compose プロジェクト pma-webauthn-lab。ピン RELEASE_5_2_3。src/ を出荷しないこと。ウィットネス PMA-WEBAUTHN-BYPASS。

SUCCESS PMA-WEBAUTHN-BYPASS WebAuthn 2FA accepted with garbage signature

修正

保存された COSE 公開鍵で authenticatorData || SHA-256(clientDataJSON) を検証すること; userHandle をバインドすること; signCount を強制すること。web-auth/webauthn-lib を実際の依存関係にし、CustomServer を削除するか、ライブラリが欠落している場合はフェイルクローズすること。それまでは、WebAuthn 2FA を無効にするか、この phpMyAdmin を公開しないこと。

参考資料

  • github.com/phpmyadmin/phpmyadmin タグ RELEASE_5_2_3
  • Plugins\TwoFactor\WebAuthn::createServer
  • CustomServer::parseAndValidateAssertionResponse
  • 同一ピンの残存物: phpmyadmin-pmadb-central-sqli · phpmyadmin-designer-json-sqli · phpmyadmin-setup-validate · phpmyadmin-csrf-sql
  • CWE-347 · CWE-287

ライセンス

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

ツールをダウンロード