4

.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しかし、インストーラーは動作しませんでした)

4

3 に答える 3

0

文字列連結を使用して XPath 式を作成することは避けてください。代わりにパラメーター/変数を使用してください。

于 2013-10-21T21:23:00.830 に答える