
このプロジェクトは、Python で実装された Proof-of-Concept (POC) としての、シンプルかつ効果的なファイアウォールです。これは、HTTP サーバーとして動作し、受信した POST リクエストを検査して、Spring4Shell (CVE-2022-22965) リモートコード実行 (RCE) 脆弱性に関連する特定のペイロードパターンを検出・ブロックするように設計されています。
このファイアウォールは、Python 組み込みの http.server モジュールを利用しています。中核となるロジックは、ServerHandler クラスの do_POST メソッドにあります。
POST リクエストを傍受します。class.module.classLoader を検索します。この文字列は Spring4Shell エクスプロイトの基本コンポーネントであり、攻撃者が難読化するのは困難です。403 Forbidden HTTP レスポンスを送信してリクエストをブロックします。200 OK レスポンスで通常どおり処理されます。他の緩和戦略ではヘッダーや特定の URL パスに焦点を当てることもできますが、この方法はその堅牢性から選ばれました。
tomcatwar.jsp ) やカスタムヘッダー名などの脆弱な指標に依存しません。ファイアウォールを実行するには、メインスクリプト firewall_server.py を使用します。
python firewall_server.py
サーバーは localhost:8000 で起動します。
次に、提供されている Test_Requester.py スクリプトを使用して、悪意のあるリクエストをシミュレートし、それらがブロックされていることを確認できます。
これは Proof-of-Concept であり、教育およびデモンストレーション目的のみを意図しています。本番環境対応のファイアウォールソリューションではありません。