Open棟梁 wiki [[戻る>FAQ - ASP.NET P層フレームワーク]] *目次 [#d8fd22ff] #contents *概要 [#lbadf161] [[ASP.NET Web Form>http://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20Web%20Form]]でのサニタイジング方針について纏めます。 *対応方針の材料 [#e662fe14] **ASP.NETの要求の検証 [#q82b1cd7] ASP.NETには、要求の検証という機能があり、~ クロスサイトスクリプティング(以下、XSSと略す)の~ 可能性のあるリクエストを識別し例外を発生させる機能がある。 -C# - ASP.NETのValidateRequest - Qiita~ http://qiita.com/akoba/items/adc148ab753ad6960805 この機能を無効にするには以下の手順に従う。 web.configで <system.web> <httpRuntime requestValidationMode="2.0" /> </system.web> と指定し(Modeが4.0だと全ページで強制ONになる)、 個別のページで@Pageディレクティブを以下のように設定する必要がある。 <@ Page validateRequest="false" %> ただし、無効にした場合は、独自の実装で~ XSSを防止するためのサニタイジング処理を実装する必要がある。 **TextBoxコントロール [#y2c6d84f] ASP.NETでは最低限、TextBoxコントロールが既定でサニタイジング処理を行う。 **その他のコントロール [#h4fd4273] しかし、Labelコントロール等は既定でサニタイジングされないので、~ TextBoxコントロールの入力をそのままLabelコントロール等に持って行くと、~ XSSが可能な脆弱性のあるWebアプリケーションが出来上がる。 *対応方針の案 [#a71dfb0d] ASP.NETの要求の検証をOFFにした際の仕様の組み方は、~ 案件依存だが基本的には、 -[[カスタムコントロールのカスタマイズ>http://techinfoofmicrosofttech.osscons.jp/index.php?.NET%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E6%96%B9%E6%B3%95]]での対応か? -ライブラリ等で都度変換を行うか? になると考える。