script/sql injectionのようなものからの入力をサニタイズするために、徹底的にテストされた.NETライブラリがありますか?入力をサニタイズする.NETライブラリ?
答えて
SQLインジェクションとクロスサイトスクリプティング(a.k.a. XSSまたはスクリプトインジェクション)は異なる問題です。
1)SQLインジェクションは非常に簡単で、常にパラメータ化されたクエリ(SQLParameter)を使用し、T-SQLストアドプロシージャ内でsp_exec @queryを絶対に実行しないようにしてください。 .Netパラメータ化されたクエリは、この2次注入に対して保護しません。
2)HTML文書にJavaScriptを挿入できる場所が非常に多いため、XSSは普遍的に緩和するのが難しいです。 AntiXSSを使用してユーザーデータをエンコードする際の推奨事項はすぐにあります。ユーザー・データを出力文書に挿入する前に、このライブラリーを使用してください。残念ながら、ASP.Netサーバーコントロールを使用している場合、すべてのデータをエンコードすると、二重エンコードと表示アーチファクトが発生する可能性があります。これは、一部のコントロールプロパティがデータをエンコードし、他のコントロールプロパティはエンコードしないために発生します。デフォルトでエンコードされたプロパティーについては、this tableを参照してください。エンコードしないプロパティに割り当てる前にAnti-XSSを使用してください。
SQLインジェクションを防ぐために、文字列のサニタイズを試みるのではなく、parameterised commandsを使用します。
私はMicrosoft AntiXSS libraryを使用します。無料で使いやすいです。
SQLインジェクションでは、私は常にパラメータを使用します。再び、彼らは使いやすいですし、私は特殊文字をエスケープしようとしません。あなたが私に尋ねるなら、それは災害のためのレシピです。
AntiXSSは、XSS攻撃を防止するために使用できます。
私はMS Anti XSSライブラリを使用しています。非常に便利で使いやすいです。それを自分で試してみてください。現在のバージョンは4.0です。
ASP.NET 4.5を使用している場合は、AntiXSS features that ship in the frameworkを使用できるようになりました。
これらは、ASP.NET 4.5に組み込まれている外部AntiXSSライブラリの一部である:
HtmlEncode
、HtmlFormUrlEncode
、およびHtmlAttributeEncode
XmlAttributeEncode
とXmlEncode
UrlEncode
とUrlPathEncode
(新)CssEncode
- 1. .Net DbCommandサニタイズ入力
- 2. Tastypieサニタイズ入力?
- 3. ユーザー入力をlaravelでサニタイズする
- 4. 入力サニタイズVS検証
- 5. .NETが手動で入力をサニタイズするのはなぜですか?
- 6. @ Html.Textareaは入力をサニタイズしますか?
- 7. XSS攻撃 - サニタイズ入力vs拒否
- 8. pingプログラムへのPHP入力のサニタイズ
- 9. Spring MVCフレームワークでユーザ入力をサニタイズする
- 10. C#でユーザ入力をサニタイズする - 最もクリーンな方法?
- 11. 郵送前にPHPでユーザ入力をサニタイズする方法は?
- 12. 外部プロセスへの入力をサニタイズする
- 13. Erlangの入力をサニタイズする方法は?
- 14. URLの一部としてユーザー入力をサニタイズする
- 15. mysqlなしでPHP入力をサニタイズする方法
- 16. Yii CActiveFormは自動的にユーザー入力をサニタイズしますか?
- 17. codeigniterはどのように入力をサニタイズしますか?
- 18. クリーナーはJTextField入力を「サニタイズ」しますか?
- 19. Scala Anorm Stringの置換はサニタイズ入力ですか?
- 20. CLRオブジェクトを自動入力するライブラリ
- 21. ユーザ入力セキュリティ.net
- 22. oracle querysのhtml jquery-ui php入力変数のサニタイズ
- 23. laravel 4 - サニタイズ入力:: get()(e()vs HTMLタグ:: laravel 4)
- 24. Java Webアプリケーションでの入力のサニタイズ方法
- 25. Javaでのデータベース入力のサニタイズ方法は?
- 26. Oracleデータベースへの入力に対するSQLインジェクションに対するサニタイズ
- 27. iCheckライブラリの入力サイズ
- 28. ASP .NET MVC3 ViewBagサニタイズ文字列
- 29. ユーザーからのデータをサニタイズするJSライブラリ
- 30. 標準入力と標準出力を.Netでリダイレクトする
これは2つの異なる質問であるべきです – fretje
@fretje、それは両方を行うライブラリがないことを既に知っているならば、2つの異なる質問です。 – DevinB
SQLインジェクション攻撃に対するサニタイズ入力(通常はパラメータ化されたコマンドを使用してデータベースレベルで行われる)は、xss攻撃に対するサニタイズ入力とは異なる完全な野球場です(通常はデータベースに入力を保存する前に完了します)... – fretje