
このプロジェクトは、Flaskを使用したWeb Application Firewall(WAF)シミュレーションと、CVE-2017-5638用の脆弱性チェッカーを紹介しています。WAFミドルウェアは特定のパターンを含むHTTPリクエストをブロックし、脆弱性チェッカーはApache Struts 2の脆弱性(CVE-2017-5638)を検出・悪用します。
このプロジェクトは、FlaskとCVE-2017-5638用の脆弱性チェッカーを使用したWeb Application Firewall(WAF)シミュレーションを示しています。WAFミドルウェアは特定のパターンを含むHTTPリクエストをブロックし、脆弱性チェッカーはApache Struts 2の脆弱性(CVE-2017-5638)をテストして悪用します。
server.py: このFlaskベースのWebサーバーには、潜在的に悪意のあるパターンを含むHTTPリクエストをブロックするWAFミドルウェアが含まれています。 vulnerable.py: このスクリプトはCVE-2017-5638の脆弱性をチェックし、ターゲットが脆弱な場合に任意のコマンドを実行できます。
server.pyスクリプトは、受信リクエストを特定の悪意のあるパターンについて検査するWAFミドルウェアを備えたFlask Webサーバーをセットアップします。ブロックされたパターンが検出されると、リクエストは403 Forbiddenレスポンスで拒否されます。
Flaskをインストール: pip install flask サーバーを実行: python server.py http://127.0.0.1:5000/ でサーバーにアクセスします。
vulnerable.pyスクリプトは、指定されたURLがCVE-2017-5638に対して脆弱かどうかをチェックし、脆弱なサーバー上でコマンドを実行できます。
必要なライブラリをインストール:
pip install requests URLが脆弱かどうかをチェック:
python vulnerable.py --url http://example.com --check 脆弱なURLでコマンドを実行:
python vulnerable.py --url http://example.com -c "whoami"
server.pyスクリプトは、Flaskを使用したWAFの基本的なデモンストレーションとして機能します。実際のシナリオでは、より高度な技術とパターンを採用する必要があります。