
このプロジェクトは、一般にSpring4Shellとして知られるCVE-2022-22965脆弱性を悪用する攻撃を検出・ブロックするための概念実証(POC)ファイアウォールサーバーです。サーバーは受信するHTTPリクエストを検査し、この脆弱性に関連する既知の悪意あるパターンに一致するリクエストをブロックします。
ファイアウォールサーバーハンドラは、http.serverライブラリを使用して構築されたシンプルなPythonベースのHTTPサーバーです。受信するHTTP POSTリクエストを監視し、Spring4Shell脆弱性に関連する特定のヘッダーやペイロードパターンを探します。リクエストがこれらのパターンに一致するとブロックされ、サーバーは403 Forbiddenステータスで応答します。
リポジトリをクローン
git clone https://github.com/BlackBird63030/Block-Spring4Shell
cd Block-Spring4Shell
サーバーを実行
python frs.py
デフォルトでは、サーバーはlocalhostのポート8000で実行されます。
ファイアウォールルールをテスト
このPOCは、CVE-2022-22965の悪用試行を検出・ブロックするために2つの主要なルールを使用します。
ルール1: ペイロードパターンのブロック
ルール2: 不審なヘッダーのブロック
いずれかのルールに一致した場合、サーバーは403 Forbiddenステータスで応答し、次のJSONメッセージを返します: {"error": "Forbidden Access"}
条件が満たされない場合、サーバーは200 OKで応答し、次のように返します: {"message": "Request received"}
ファイアウォールをテストするには、tnt.pyスクリプトを使用します。このスクリプトはファイアウォールスクリプトに5回のPOSTリクエストを送信します。
python tnt.py
サーバーは次のように応答します: {"error": "Forbidden Access"}
このPOCは、Spring4Shell脆弱性を標的とした特定の攻撃ベクトルをブロックする基本的なファイアウォールルールを実証するための教育およびテスト目的で意図されています。本番環境における包括的なファイアウォールソリューションの代わりにはなりません。
MIT License