wp2shell — WordPress REST API Time-Based Blind SQLi → RCE 概念実証
説明
poc_wp_tot.py は、WordPress REST API のバッチエンドポイントにおける
time‑based blind SQL injection の脆弱性を悪用し、Remote Code Execution (RCE) に
至るエスカレーションチェーンを実行する proof‑of‑concept (PoC) です。
対象の脆弱性:
- CVE-2026-63030
- CVE-2026-60137
重要な警告
- このツールは、所有しているシステム、または明示的な書面によるテスト許可を
得たシステムに対してのみ使用してください。不正使用は違法かつ破壊的な
結果をもたらす可能性があります。
- 作者: GhostGTR666 (github.com/gagaltotal)
- PoC バージョン: 1.0.0
必要条件
- Python 3.8+(推奨)
- ターゲットの WordPress へのネットワーク接続
- テスト環境でスクリプトを実行するためのアクセス権
インストール
- ファイル
poc_wp_tot.py を作業ディレクトリにクローンまたはコピーします。
- (オプション)仮想環境を作成します:
python3 -m venv venv
source venv/bin/activate
使用方法

スクリプトは probe(検出)、extract(データ取得)、rce(コマンド実行)の
3つの操作モードを提供します。以下に使用例を示します。
Probe(脆弱性の確認):
python3 poc_wp_tot.py https://target.example.com/
python3 poc_wp_tot.py -v https://target.example.com/ "SELECT user_login FROM wp_users LIMIT 1"
RCE(リモートコマンド実行 — 完全なエクスプロイトチェーン):
python3 poc_wp_tot.py https://target.example.com/ -c "id && uname -a"
共通オプション
-h, --help : ヘルプメッセージを表示
-v, --verbose: 詳細出力(デバッグ)を有効化
-c <COMMAND> : RCE モード — ターゲット上でシェルコマンドを実行
技術概要
- スクリプトは WordPress REST API のバッチエンドポイントを利用して、
ターゲットサーバー上で
SLEEP() 関数をブール条件として実行させる
SQL ペイロードを注入します(time‑based blind SQLi)。
- プロービングと応答時間に対するバイナリサーチベースの抽出技術により、
スクリプトはデータベースから文字列と整数を抽出できます。
- エクスプロイトチェーンは、SQL ペイロードを介して oEmbed エントリをシードし、
生成された投稿キャッシュを特定して悪意のある changeset を作成し、新しい
管理者アカウントを作成して、RCE のために実行される PHP プラグインをアップロードします。
リスクと対策
- このスクリプトは WordPress インストールに永続的な変更を加える可能性が
あります(例: アカウント作成、プラグインのアップロード)。テストは管理された
(ラボ)環境で行い、バックアップを用意してください。
- WordPress とプラグインは最新版に速やかに更新し、不要な場合は REST API への
アクセスを制限し、Web アプリケーションファイアウォールソリューションを使用してください。
開発者向けメモ
- 主要な実装とロジックは
poc_wp_tot.py にあります。
- 完全なフローを理解するには、スクリプト内の
calibrate()、get_scalar()、
および exploit_rce() 関数を参照してください。
ライセンスと帰属
- この PoC は教育・セキュリティテストを目的として現状のまま提供されます。
- 原作者: GhostGTR666 — github.com/gagaltotal