[PHP-users 8349] Re: 簡易クロスサイトスクリプティング対策スクリプト
Masaru Matsunami
php-users@php.gr.jp
Sat, 29 Jun 2002 16:28:06 +0900
松並と申します。
Sat, 29 Jun 2002 14:26:40 +0900 頃に
Yasuo Ohgaki <yohgaki@ohgaki.net> さん wrote:
> 最後に、根本的なクロスサイトスクリプティング対策はコード本体の脆弱性
> を修正する必要があります。このスクリプトを使っているから安全と言う事
> はありません。残っている危険性はstoryid 33にコメントしますが、コード
> を読まないとなんとも言えません、、
>
> 手っ取り早く書いたスクリプトなので抜けがあるかも知れません。ご指摘、
> よろしくお願いします。
大垣さん作成のスクリプトはPHPへの入力部分に着目して
入力値チェックするものですよね。
効果は大きいといえますが、もちろん完璧ではありません。
大垣さんも言及されていますが、結局はHTMLページを作り出すPHPコードを
修正する必要があります。
本質的には「HTMLページを生成するプログラム」部分で、
外部から与えられる文字列を「そのまま出力」してしまうことが問題です。
よく < や > といった文字を検出したり、エスケープすればオーケーと
聞きますが、HTML中の文脈によっては、クロスサイトスクリプティング脆弱性
につながることがあります。
わたしがまとめた情報がこちらにあります。
「クロスサイトスクリプティング」
http://www.ipa.go.jp/security/awareness/vendor/programming/a01_02.html
※ウソなど書いていましたらご指摘頂ければと思います。
※個人的には機能優先で拡張しすぎたHTML/JavaScriptなどに
クロスサイトスクリプティング問題の原因があると恨んでます。
--
Masaru Matsunami <mat@abelia.ocn.ne.jp>