2009-06-16 20 views
15

私はAnti-XSS Security Runtime Engineを読んでおり、リフレクションによってコントロールを検査し、必要に応じてデータを自動的にエンコードするため、Webフォームの優れたソリューションのようです。しかし、私は実際にASP.NET MVCでサーバー側のコントロールを使用しないので、ASP.NET MVCの実行可能なソリューションではないようです。これは正しいのですか、何か不足していますか?ASP.NET MVCでAnti-XSSセキュリティランタイムエンジンを使用する必要がありますか?

+1

興味深い質問 - 私たちは先日、職場でこのことについていくつかのセキュリティコンサルタントを賞賛しました。私は人々のそれの採用を見つけることに興味があるだろう。 – RichardOD

答えて

3

フィル・ハークはここhttp://haacked.com/archive/2009/02/07/take-charge-of-your-security.aspx興味深いブログ記事を持っています。彼は、CAT.NETと組み合わせたAnti-XSSの使用を提案しています。

+0

この記事を読むと、ASP.NET MVCのサーバー側のコントロールが不足していることがわかりました。 「MVCでは、サーバーコントロールをヘルパーメソッドとスワップしました。出力を正しくエンコードします。 – Blegger

+2

[更新済みリンク](http://haacked.com/archive/2009/02/07/take-charge-of-your- security.aspx)をHaackのブログエントリに追加します。 – patridge

8

アンチXSSセキュリティランタイムエンジンは、主に更新レガシーASP.NETアプリケーションを中心に設計されたHTTPモジュールです。 Anti-XSS Engineは、組み込みのHTMLヘルパー(Html.Encode())を使用して適切なデータクレンジングを行ってASP.NET MVCアプリケーションを作成していれば、新しいものは何も追加せず、追加の設定が必要です(必要なホワイト - リスト)とエラーチェック。

すべてのすべてで、あなたが入力され、HTMLとしてレンダリングされていないときの明示的な制御に依存している場合は特に、アンチXSSエンジンに頼るべきではありません。

+5

種類 - 私はAntiXssとSREを所有していますが、彼らは同じプロジェクトの一部ですが、同じものではありません。 AntiXSSのエンコーディングは、安全でないリストではなく、安全なリストを使用して、16進数に変換する必要がある文字とそうでない文字を決める点で.NETエンコーダと異なります。これにはパフォーマンスコストがありますが、本質的に安全です。したがって、これらのコード化ルーチンを使用する利点があります。 セキュリティランタイムは異なる獣です。一般的な攻撃を探す単純なアプリケーションファイアウォールです。その一部はWebフォーム固有で、webformsとMVCの両方で動作します。 – blowdart

関連する問題