HTTP メソッド改ざん (HTTP Verb Tampering) ルールは、REST サービスが、そのサービスへのリクエストで送信された HTTP メソッドを適切に検証しているかどうかを検出します。このルールは、Penetration Testing Tool が REST クライアントに接続されている場合に実行されますREST クライアントで定義されたリクエストにサービス定義が関連付けられている場合、ルールは、サービス定義で定義されていない HTTP メソッドをチェックして、一致するリソースを探します。サービス定義は、次のいずれかの方法で関連付けられます。
- REST クライアントの [サービス定義] フィールドが OpenAPI/Swagger、RAML、または WADL に設定され、対応する URL フィールドが構成されます。
- REST クライアントの [サービス定義] フィールドが [なし] に設定されている場合、テストの実行に使用するテスト コンフィギュレーションの [実行] タブで [APIカバレッジ] セクションを有効にできます。[テストから参照されている] オプションをオフにし、テスト対象のリソースを含むサービス定義を指定する必要があります。このオプションは、REST クライアントがサービス定義情報なしで構成されている場合に役立ちます。
(OpenAPI や RAML など) サービス定義で定義されているが、サービス定義に含まれていない HTTP メソッドで作成されたリソースに対して、アプリケーションが不適切に応答する場合にレポートされます。攻撃者は、アクセス制限を回避するために、異なる HTTP メソッドを含む既知のリクエストを修正することで、保護されているはずのアプリケーション内のデータにアクセスできる可能性があります。
解決方法
アプリケーションの各リソースに対して、許可された HTTP メソッドのリストを定義し、そのすべてをアプリケーションのサービス定義 (OpenAPI や RAML など) に含めます。許可リストまたはサービス定義、あるいはその両方で定義されたものと一致しないすべてのリクエストを、HTTP レスポンス コード "405 Method Not Allowed" で拒否します。呼び出し元が、リクエストで指定されたリソースに対して受信 HTTP メソッドの使用を許可されていることを確認してください。
参照