[PHP-users 24318] Re: クロスサイトスクリプティングとSQLインジェクションの防止策

Kazuaki Takase kt2546 @ zpost.plala.or.jp
2005年 2月 1日 (火) 02:10:33 JST


高瀬と申します

# 解決してるっぽいですが

SQL Injection, XSS に限らず、Webアプリケーションを利用する場合、
脆弱性は全ての入出力によって発生し得ます。よって何をサニタイズするか、
どのようにサニタイズするか等は 出力先の仕様によって違います。
HTML内でも script タグ内だとサニタイズすべき文字列が違うとか、
最近だと Response spliting あたりが出ましたね。

あと、 今出てる対策は出力にのみフォーカスされていますが、入力値の正規形
チェックも
同等に重要だと思います。

またセキュアなプログラミングという事であれば、少し古いドキュメントですが
以下のURLが
参考になると思います。WebやSQL Injection についても載っています。

IPA セキュア・プログラミング講座
http://www.ipa.go.jp/security/awareness/vendor/programming/

Takashi Hagiwara wrote:

>萩原と申します。
>
>らむじぃさん、ご指摘ありがとうございます。お恥ずかしい;;
>
>  
>
>>/ ? 等はサニタイズされません。
>>form由来のデータを URL に含めた場合など、困ったことになります。
>>先ほどのメールでシチュエーションによる、といったことの一例です。
>>    
>>
>
>確かに、下記のように変数を含んだURLを作成する場合には、「/」がディレクト
>リの区切り文字として認識されてしまいますね;
>
><?PHP 
>$value = "hogehoge/index.html";
>?>
><html><body>
><a href="http://download.hoge/<? htmlspecialchars($value) ?>">
></body></html>
>
>この場合には、「/」や「?」を入力時に弾くなど、別の対処方法を考える必要が
>ありますね。
>
>大変参考になりました。ありがとうございます。
>
>_______________________________________________
>PHP-users mailing list  PHP-users @ php.gr.jp
>http://ns1.php.gr.jp/mailman/listinfo/php-users
>PHP初心者のためのページ - 質問する前にはこちらをお読みください
>http://www.php.gr.jp/php/novice.php3
>
>  
>



PHP-users メーリングリストの案内