3

開発中の Web アプリのユーザー入力 (または出力) をサニタイズする必要があります。ユーザー入力は単なるテキストであり、HTML やその他の「有害な」文字列を防止したいと考えています。ただし、小なり、大なり、アポストロフィ、アンパサンド、引用符などの文字使用できます。

最初のステップは、一般的な「潜在的に危険な値が検出されました」というメッセージを防ぐためにリクエストの検証を無効にすることだと思いますが、他に何をする必要がありますか? 出力を単純に html エンコードすることはできません。そうしないと、たとえば、小なり文字の代わりに < が表示されてしまいます。

役立つツールはありますか?私はAntiXSSライブラリをざっと見ましたが、私が見たところ、それは単なる美化されたhtmlencoderですか、それとも何か不足していますか? MVC はどうですか - これには何かが組み込まれていますか?

この種のことについてまともな記事を見つけたことがありません。入力をサニタイズすると言う人もいれば、出力をサニタイズすると言う人もいます。例は通常、htmlencoding などの手法を使用して単純化しすぎており、より小さいなどの完全に有効な文字を再フォーマットします。

4

1 に答える 1

2

Anti-XSS ライブラリは、現時点では ASP.Net WebForms の標準ライブラリです。それは最適ではありませんが。また、最新バージョン ( 4.2 ) には、しばらく修正されていない重大なバグがいくつかあります。

MSDN の記事Information Security - Anti-Cross Site Scriptingも参照してください。

ASP.NET MVC でアンチ XSS セキュリティ ランタイム エンジンを使用する必要がありますか? を参照してください。MVCに関するあなたの答えのために。その答えから:

Phil Haack の興味深いブログ記事が http://haacked.com/archive/2009/02/07/take-charge-of-your-security.aspxにあります。彼は、アンチ XSS を CAT.NET と組み合わせて使用​​することを提案しています。

于 2013-04-06T13:56:47.077 に答える