HTTPメッセージからパラメータを抽出してリソースURLを取得すると、意図したリソースのセマンティクスを変更する可能性のある注入攻撃に対して脆弱になる可能性があります。ここでは、HTTPパラメータ/パス汚染(HPPP)とサーバー側要求偽造(SSRF)という2つの種類の攻撃が関係します。攻撃者はHTTPリクエストまたはHTTPレスポンスを完全に制御できます。HTTPパラメータ/パス汚染攻撃を修正する方法Spring Rest
HPPP(HTTPパラメータ/パス汚染攻撃)では、リソースのREST要求を準備する(または埋め込みリンクを生成する)ために使用されるリソースURLを構成するパラメータが使用されます。問題は、攻撃者がパスを変更したり、「クエリ文字列」内の予期しないパラメータを追加/上書きしたりする可能性があることです。さらに、RESTフレームワークは_Methodのようなパラメータを使用して、受信HTTPメソッドとは異なるREST動詞の指定を許可することができるため、GET要求はPUT操作として解釈される可能性があります。攻撃者は、RESTリソースURLのセマンティクスを変更する可能性があります。
詳細here
例を見つける:たとえば
を:クエリ文字列にSEARCH_STRINGパラメータをテストする場合、リクエストURLは、そのパラメータ名と値が含まれます。
http://example.com/?search_string=kittens
特定のパラメータは、いくつかの他のパラメータの中で隠されているかもしれませんが、アプローチは同じです。他のパラメータをそのまま残して、複製を追加します。
http://example.com/?mode=guest&search_string=kittens&num_results=100
http://example.com/?mode=guest&search_string=kittens&num_results=100&search_string=puppies
異なる値と同じパラメータを追加し、新しい要求を提出します。
質問:
春休憩、春のMVCと春のセキュリティは、HPPP issue.Howを修正するために構築されたサポートにいずれかを提供していない私たちは春のフレームワークの内部で修正できますか?
提供することはできますか? –
私は前に経路汚染の攻撃について聞いたことがありません。あなたは参考文献を持っていますか?パラメータ汚染はサーブレットコンテナレベルで自動的に回避する必要がありますが、依然としてクエリ文字列の一部を消費するアプリケーションの領域をテストすることは賢明です –