2016-05-05 7 views
0

asp.net webformsでは、ValidatorControlsを使用している場合は、まだanti xssライブラリを使用する必要がありますか?たとえば、TextBox1を電子メールアドレスとして検証していますが、組み込みのコントロールを使用しています。asp.netで、私はValidatorControlsを使用している場合、私はまだアンチxssライブラリを使用する必要がありますか?

<form id="form1" runat="server"> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <asp:Button ID="Button1" runat="server" Text="Button" /> 


     <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="RegularExpressionValidator" ControlToValidate="TextBox1" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator> 
    </form> 

答えて

1

すべてのユーザー入力は疑わしいです。このページの唯一のフォームフィールドですか?ユーザ入力が含まれています:

  • URLクエリ文字列
  • フォームフィールド
  • クッキー
  • データベース
  • ViewStateの

攻撃の最も一般的な形式は、スクリプトインジェクション、クロスサイトであるように見えますスクリプティングとSQLインジェクションSQLインジェクションについては、パラメータ化されたクエリを使用することでこれを軽減できます。これは、ストアドプロシージャを攻撃に対して弾力性のあるものにするデータベースクエリをパラメータ化する行為です。その他のスクリプト攻撃は、WebアプリケーションプロジェクトでMicrosoft Anti-Cross Site Scripting Libraryをダウンロードして使用することで処理できます。

このライブラリを適切なデータ検証(バリデータ)とフィルタリング(正規表現)と組み合わせて使用​​することをお勧めします。脆弱であることがわかっている既存のコードがある場合でも、ツールを使用してコードを検査し、必要な場所に必要な保護対策を実装することができます。

+0

をはい、それだけでテストページです。また、VS 2013のマスターページに付属するanti-xsrfトークンも使用しています。データベースを忘れてしまった。 Ty、msからantixssライブラリを実装します。 – runners3431

+0

あなたはすべてが来て、すべての賭けをカバーすると思う必要があります;-) – IrishChieftain

0

はい - バリデータは悪質な入力を阻止しません。データがサーバーに送り返されている限り、常にインジェクション攻撃の脆弱性があります。

WebFormsには、ViewStateUserKeyを介して保護機能が組み込まれています。ユーザーセッションごとに設定されます。あなたはここでのいくつかの例を読むことができます: https://msdn.microsoft.com/en-us/library/system.web.ui.page.viewstateuserkey.aspx

と実装に関しては:このページの http://www.codeproject.com/Articles/686881/Hack-Proof-Your-ASP-NET-Applica

関連する問題