あなたの質問に具体的に答えることはできませんが、ホワイトリストとブラックリストのアプローチは「いい」だけではないことを指摘したいと思います。それは重要です。非常に重要です。セキュリティに関しては、あらゆる小さなことが重要です。クロスサイト スクリプティングとクロスサイト リクエスト フォージェリを使用すると、サイトに機密データが表示されていなくても、ハッカーが JavaScript を挿入してサイトに感染し、それを使用して別のサイトから機密データを取得する可能性があることに注意してください。したがって、正しく行うことが重要です。
OWASP ガイドラインでは、ホワイト リスト アプローチの使用を指定しています。PCI コンプライアンス ガイドラインでも、コーディング標準でこれを指定しています (OWASP ガイドラインを参照しているため)。
また、AntiXss ライブラリの新しいバージョンには、新しい関数 .GetSafeHtmlFragment() があります。これは、HTML をデータベースに保存し、それを HTML としてユーザーに表示する場合に便利です。
また、「バグ」に関しては、適切にコーディングし、すべてのセキュリティ ガイドラインに従っている場合は、パラメーター化されたストアド プロシージャを使用しているため、単一引用符は正しく処理されます。シェルフ ライブラリはあなたを完全に保護します。AntiXss ライブラリは、知識に代わるものではなく、使用するツールであることを意図しています。ライブラリに頼って適切に処理してもらうことは、優れたアーティストがいなくても、本当に優れた絵筆が優れた絵画を生み出すことを期待することになります。
編集 - 追加
質問で尋ねられたように、アンチ xss があなたを保護し、HttpUtility が保護しない場所の例:
HttpUtility.HtmlEncode およびサーバー。HtmlEncode はクロス サイト スクリプティングを妨げない
とはいえ、著者によると。私は個人的にそれをテストしていません。
あなたはセキュリティ ガイドラインに準拠しているように聞こえるので、これは私があなたに言う必要はないかもしれませんが、経験の浅い開発者がこれを読んでいる場合に備えて、ホワイトリスト アプローチが重要であると私が言う理由これは。
現在、今日、HttpUtility.HtmlEncode は、 と を削除/エンコードするだけで、そこにあるすべての攻撃を首尾よくブロックすることが<
でき>
ます。既知の安全な (ホワイト リスト) コンテンツは、攻撃者が投げかける可能性のある危険な入力をすべて考えようとする (ブラック リスト アプローチ) よりもはるかに簡単です。