Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-3460 — CVE-2023-3460 | Kitploit
ツール/GitHubGitHub/emadyay/cve-2023-3460
特権昇格脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト認証
GitHubemadyay/cve-2023-3460

CVE-2023-3460

CVE-2023-3460

リポジトリを見る
3年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2023-3460 - Ultimate Member プラグインの未承認管理者アクセス POC

CVSS スコア: 9.1

日付: 07/04/2023

Ultimate Member プラグインとは?

Ultimate Member プラグインは、ユーザー登録のための人気のあるメンバーシッププラグインで、200,000+ のアクティブインストールがあります。

Alt text

クイックチェック

7月7日に Ultimate Member プラグインで深刻な脆弱性が発見されました。攻撃者は権限昇格技術を利用して管理者アカウントを作成し、WordPress ウェブサイトを乗っ取る可能性があります。

では、このエクスプロイトはどのように機能するのか?

WordPress のロールと権限を見てみると、ユーザーが持てるロールは Super Admin、Administrator、Editor、Author、Contributor、Contributor などかなりあります。では、どうすれば管理者権限を得られるのでしょうか? まず、Ultimate Member プラグインがどのように動作するかを見てみましょう。プラグインを正常に機能させるには、まず Pages セクションでいくつかのページを作成し、それらを Ultimate Member > 設定 にリンクする必要があります。その後、新しいロールを作成するか、Ultimate Member が提供するデフォルトのロールを使用することができます。

Alt text

これでプラグインが動作するはずです。次に、バックエンドでどのように動くか詳しく見ていきましょう。通常のユーザーを Subscriber ロールで登録しました。mysql の wp_usermeta テーブルを見ると、wp_capabilities の値がシリアライズされた配列として設定されており、それによってロール(この場合は Subscriber)が定義されていることがわかります。

Alt text

では、wp_capabilities の値を変更するにはどうすればよいのでしょうか? 登録時に、以下のように wp_capabilities を POST リクエストのパラメータとして渡すことができます:

Alt text

しかし、これで終わりではありません。is_metakey_banned という関数があり、この関数は "cap_key"、"wp_capabilities"、"wp_user_level"、"user_activation_key" などのいくつかの値をチェックします。私たちが注目するのは wp_capabilities ですが、リクエストボディにそれを含めると、そこで break に達してロールの変更を防がれてしまいます。

Alt text

ここから、いくつかの異なるデコード方法を試すことができますが、うまくいきません。しばらく調査し、AI の助けも借りた結果、WordPress はデフォルトで à, è, ì, ò, ù, À, È, Ì, Ò, Ù のようなアクセント文字を受け入れることを発見しました。では、リクエストボディに wp_càpabilities=administrator のようにこれらの文字を使用するとどうなるでしょうか? それは class-user.php の 182 行目のブレークポイントに当たらず、is_metakey_banned 関数をバイパスできます。

Alt text

mysql を確認すると、値を変更できたことがわかります。

Alt text

しかし、私たちは管理者ではありません。実際、ロールは一切ありません。

Alt text

何かは確かに変わりました。しかし、管理者になるには、管理者の正確な値(a:1:{s:13:"administrator";b:1;} のようなもの)を持っている必要があります。では、これをそのままパラメータに渡してみましょう。

Alt text

もう一度 mysql を確認すると、wp_capabilities の値を設定できましたが、期待どおりではありません。

Alt text

渡した値は取得されてシリアライズされた文字列になりました。しかし、管理者の wp_capabilities を見ると、それはシリアライズされた配列です。それが私たちの望むものです。WordPress には独自のシリアライゼーションがあるので、それを利用して値を配列として渡すことができ、残りは WordPress が処理します。私たちのペイロードは次のようになります:wp_càpabilities[administrator]=1

Alt text

最終的に、wp_capabilities の値が a:1:{s:13:"administrator";s:1:"1";} に変更され、管理者としてログインできるようになりました。

Alt text

そして、管理者としてログインできます。

Alt text

ツールをダウンロード