
このリポジトリには、Text4Shellとして知られる脆弱性(CVE ID: CVE-2022-42889)のテストプロセスを自動化するPythonスクリプトが含まれています。
このリポジトリには、CVE ID: CVE-2022-42889 で参照される Text4Shell として知られる脆弱性のテストを自動化する Python スクリプトが含まれています。
Text4Shell は、幅広いシステムに影響を与える深刻な脆弱性です。この脆弱性は、システムがテキスト文字列を解析する方法に存在し、任意のコードの実行や SSRF 攻撃を可能にします。この脆弱性は、細工された文字列によって悪用され、JavaScript コードが実行される(リモートコード実行 (RCE) につながる)か、URL がフェッチされる(サーバーサイドリクエストフォージェリ (SSRF) につながる)かのいずれかが発生します。
Tarlogic より:
悪用の要件:
アプリケーションがユーザー制御の入力を受け入れ、その入力が影響を受けるコンポーネントの以下のメソッドのいずれかで処理されること。
StringLookupFactory.INSTANCE.interpolatorStringLookup().lookup()StringSubstitutor.createInterpolator().replace()Java 15 以降のバージョンでは Nashorn エンジンが無効化され、"script" 接頭辞が利用できなくなるため、リモートコード実行の影響を受けません。ただし、"url" および "dns" 接頭辞を介した他の攻撃は可能です。
この Python スクリプトは、システムにおける Text4Shell 脆弱性の存在をテストするのに役立ちます。このスクリプトの範囲は、script および url 接頭辞のテストを含みます。
スクリプトには RCE と SSRF の 2 つの動作モードがあり、-m または --mode コマンドライン引数で制御します。選択されたモードに基づいて細工された文字列を含む URL を構築し、その URL に GET リクエストを行います。
RCE モードでは、スクリプトは JavaScript コマンドを実行しようとする細工された文字列を作成します。実行するコマンドは、-c または --command を使用してコマンドライン引数として渡します。
python text4shell.py -u 'http://example.com/search?query=' -c 'your_command' -m 'rce'
SSRF モードでは、スクリプトは URL フェッチコマンドを含む細工された文字列を作成します。
python text4shell.py -u 'http://example.com/search?query=' -m 'ssrf' -s 'http://example.com/resource'
スクリプトは構築された URL に GET リクエストを行い、HTTP レスポンスのステータスコードとボディを出力します。