0

ASP.net が提供する XSS (クロス サイト スクリプティング) サポートは、AntiXss とどのように異なりますか。AntiXss は、サイトを XSS から保護するための Microsoft ライブラリです。どちらの API もほぼ同じように見え、コード ファイルで find replace を実行することで簡単に切り替えることができるようです。

XSS に対してより多くのセキュリティを提供するのはどれですか? ASP.net が提供する組み込みサポートを使用することはお勧めできますか?

4

2 に答える 2

2

いくつかの違いがあります。まず、MicrosoftAntiXssライブラリはホワイト リスト エンコーディングを使用します。つまり、安全であることがわかっているすべての文字を除いて、すべての文字がエンコードされます。ASP.NET の標準エンコーディング メカニズムはブラック リストです。たとえば、HTML エンコーディングの場合、4 文字のみをエンコードします: <>&および"(たとえば、一重引用符はエンコードしません)。たとえば、このSOの回答を見てください。これで何がうまくいかない可能性があります。

もう 1 つの違いは、基本的な ASP.NET エンコーディング ( を使用HttpUtility) は、HTML en URL のみをエンコードできることです。AntiXssHTML 属性と JavaScript テキストをエンコードすることもできます。標準の ASP.NET では安全な方法はありません。

于 2010-08-09T07:07:56.083 に答える
1

心に留めておくべきことの 1 つは、リリース サイクルです。HttpUtility に組み込まれているエンコーディングは、ASP.NET の新しいバージョンがリリースされたときにのみ更新できます。誰かが HttpUtility に対して機能する XSS 攻撃をリリースの翌日に思いついた場合、アプリケーションは ASP.NET の新しいバージョンがリリースされるまで脆弱です。AntiXSS のリリース サイクルは (はるかに) 高速です。つまり、新しい攻撃が発生した場合、チームはより迅速に対応し、それらを防御する最新の AntiXSS をリリースできます。

于 2010-08-09T08:38:21.287 に答える