.NET に xpath インジェクション攻撃を検出/防止する既存の方法はありますか?
私は 2 つの例を予見できますが、おそらくもっと多くの例があります。
例えば
"/Some/XPath/" + UntrustedNodeName
UntrustedNodeName
である場合"DoesNotExist | /Some/Other/XPath"
、これは攻撃である可能性があります。
"/Some/XPath[" + UntrustedFilter + "]"
UntrustedFilter
である場合"1 = 1"
、これも攻撃である可能性があります。
ここですべてのケースをカバーしたとは限りません。
2 つの状況は、異なるロジックで個別にテストする必要があると推測しています。
他のタイプの攻撃については、リスクを軽減するためのエンコード方法とパラメーター化されたクラスがあります。XPath については、似たようなものは見つかりません。
(例外 - 私はこれを見つけました: http://www.tkachenko.com/blog/archives/000385.htmlしかし、インストーラーは動作しませんでした)