
React2Shell (CVE-2025-55182) エクスプロイト
脆弱なReact Server ComponentsおよびNext.jsアプリケーションにおける重大なRCE脆弱性(CVE-2025-55182)を悪用するためのインタラクティブシェルを提供するPythonスクリプトです。 このエクスプロイトは、認証なしのリモートコード実行を可能にする逆シリアル化の欠陥を標的とします。WAFバイパス技術を追加するためのモジュラーシステムを備えています。
[!NOTE] このエクスプロイトは、脆弱なRSCプロトコルエンドポイントと対話するように設計されています。実行結果はサーバーのレスポンスメカニズムを介して取得されます。出力が発生しないコマンドは
(empty)を返します。
[!CAUTION] このコードは研究および教育目的のみを対象としています。CVE-2025-55182の脆弱性を理解、検出、および修復するのに役立つことを意図しています。明示的な許可なしにシステムに対して使用しないでください。
このスクリプトの使用はユーザー自身の責任で行われるものであり、著者はその誤用や意図しない結果について一切の責任を負いません。
このコードを使用することで、ユーザーは以下を了承し同意したものとみなされます:
- ユーザーは、このスクリプトの使用によって生じる法的結果に対して単独で責任を負います。
- ユーザーは、このコードの使用に起因する損害、損失、または法的措置について、著者に賠償責任を負わせないものとします。
- ユーザーは、適用されるすべての法律および規制を遵守することに同意します。
- ユーザーは、許可なくシステムに対してこのスクリプトを使用すると、法律および利用規約に違反し、厳しい罰則につながる可能性があることを認識します。
- ユーザーは、このコードを使用する前に自身の法律顧問に相談することをお勧めします。
このエクスプロイトは、動的なWAFバイパスモジュールシステムを備えています。モジュールは waf_modules ディレクトリに個別のPythonファイルとして保存されます。各モジュールは、デフォルトのリクエスト本文とヘッダーを受け取り、バイパスに必要な変更を加えて、新しい body, headers を返す modify_request(body, headers) 関数を定義する必要があります。
modify_request 関数を含む新しいPythonファイル(例: bypass_custom.py)を waf_modules ディレクトリに作成します。--help フラグを指定してスクリプトを実行し、利用可能なバイパスオプション(例: bypass_custom.py 用の --bypass-custom)を確認します。対応するフラグを使用してモジュールを有効化します。例: 例として bypass_vercel.py モジュールが同梱されており、Vercelデプロイメントに対して効果的な可能性のある技術を実装しています。
--modify-request)このスクリプトでは、HTTPリクエストの送信に使用される requests.Session オブジェクトの特定の属性を直接変更できます。これにより、SSL検証、タイムアウト、およびその他のセッションレベルの設定を詳細に制御できます。
--modify-request <KEY> <VALUE> フラグを使用します。<KEY> は requests.Session オブジェクトの属性(例: verify、timeout)に対応します。<VALUE> に対して基本的な型変換を試みます: true/false はブール値になり、数値文字列は整数または浮動小数点数になり、それ以外の場合は文字列のままです。--modify-request verify True--modify-request verify False (旧 --insecure フラグと同等)python CVE-2025-55182.py --help-modify-request を使用してください。requirements.txt を参照)python -m venv venv と source venv/bin/activate、Windowsでは venv\Scripts\activate)。
pip install -r requirements.txt
waf_modules ディレクトリの作成:
mkdir waf_modules
bypass_vercel.py)をこのディレクトリ内に配置します。脆弱な環境のセットアップ(テスト専用):
docker run --rm -p 127.0.0.1:3000:3000 ghcr.io/l4rm4nd/cve-2025-55182:latest
スクリプトの実行:
python CVE-2025-55182.py --help # To see all options, including WAF bypasses
# Example with a bypass module:
python CVE-2025-55182.py --host 127.0.0.1 --port 3000 --endpoint / --bypass-vercel
コマンドライン引数を使用しない場合、スクリプトはホスト、ポート、エンドポイントをインタラクティブにプロンプト表示します。
シェルとの対話:
exit または quit と入力すると、シェルセッションが終了します。