
このスクリプトは、Apache Struts 2 の脆弱性(CVE-2017-5638)、別名 Struts-Shock を検証するためのものです。このスクリプトは完全に無害であり、悪意のあるペイロードを注入せず、'STRUTS2-VALIDATION' というHTTPヘッダーを注入するだけで、脆弱性があるかどうかを検証できるようにします。
マルチスレッド機能により、世界中に散らばる2,500以上のアプリケーションを10分以内に実行できます。そのため、大規模なエンタープライズアプリケーションを検証するのに非常に便利です。
このスクリプトを実行する方法は2つあり、スレッドを使用する場合と使用しない場合があります。唯一の違いは実行時間です。スレッド機能を有効にするには、スレッドパラメータを渡すだけです。
最初のパラメータは、ターゲットURLを1行に1つずつ含むTXTファイルである必要があります。これらのURLは完全なものである必要があることに注意してください。例えば、https://target.com/admin/myStrutsPage.action のように。
以下はスレッドを使用しない使用例です:
struts-shock-validation.py target_urls.txt
次にスレッド機能を使用する場合:
struts-shock-validation.py target_urls.txt thread
自動的に results というフォルダが作成され、実行ごとに日付の入ったフォルダが作成され、その中に実行結果が保存されます。スレッドが有効な場合、thread_ という名前のファイルがスレッドごとに作成されますが、これは無視して構いません。完了時にすべてのスレッドの結果が、実行フォルダと同じ名前(日付/タイムスタンプ)の単一のTXTファイルに統合されるためです。