- PR -

ASP.NETのクロスサイトスクリプティング(XSS)対策について

1
投稿者投稿内容
お獅子
大ベテラン
会議室デビュー日: 2004/09/14
投稿数: 160
投稿日時: 2006-02-09 13:20
「ASP.NETにおけるXSS、SQLインジェクション対策」
URL:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28217&forum=7&53

上記スレッドの続きになりますが、こちらはXSS限定にしたいと思います。

聞きたい事はASP.NETの標準の機能であるValidateRequestは何処までXSS対策がされているのか?どういった所に抜けているか?また、どういった対策をするべきか。をハッキリさせたいので、お解かりの方ご伝授ください。





[ メッセージ編集済み 編集者: お獅子 編集日時 2006-02-09 13:29 ]

[ メッセージ編集済み 編集者: お獅子 編集日時 2006-02-09 13:33 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-02-10 05:09
引用:

お獅子さんの書き込み(2006-02-09 13:20)より:

聞きたい事はASP.NETの標準の機能であるValidateRequestは何処までXSS対策がされているのか?どういった所に抜けているか?また、どういった対策をするべきか。をハッキリさせたいので、お解かりの方ご伝授ください。


 Microsoft に問い合わせましたが、回答はいただけませんでした。実験的に「こういうものが弾かれる」ことはわかっていますが、はっきりとはわかりません。


 ところで、ValidateRequest では、POST リクエストが拒否されます。しかし、本来対策しなければならないのは、「提出するとき」ではなく、「表示するとき」です。この意味で、validateRequest はこういう入力があると危険ということを気づかせる意味しかありません。

関連→validateRequestについて

〆 written by Jitta on 2006/02/09
お獅子
大ベテラン
会議室デビュー日: 2004/09/14
投稿数: 160
投稿日時: 2006-02-10 10:01
引用:

 Microsoft に問い合わせましたが、回答はいただけませんでした。実験的に「こういうものが弾かれる」ことはわかっていますが、はっきりとはわかりません。


問い合わせまでして頂きありがとうございました。

なんで公開しないのでしょうね。

取り合えず、ValidateRequestには頼らないで、MSDNのこの辺を参考にして実施する事にしました。
http://www.microsoft.com/japan/msdn/security/guidance/secmod83.mspx#EXOAC

1.入力の検証
  (型・長さ・形式・範囲のチェック)
  (入力の不適切な部分を削除する)
2.出力エンコード
  (テキスト出力をエンコード(HtmlEncode/UrlEncode)する)
  (データ連結コントロールをエンコード)
  (ValidateRequest=true)

こんなところでしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)