Webでチェックすべきこと

– フィールド名は、想定したものだけを取り扱うようにチェックすること。
  別の変数を投げ込まれたら、無視するか、エラーを返すこと
– hidden フィールドのデータは必ずチェックすること
  MD5 の hash などを使うのが望ましい
– 変数の長さは必ずチェックすること
  フォームで指定した長さはあてにならないので、長さチェックを入れ、想定よりも長ければエラーとするか切り捨てる。
– Referer は信用するな
  簡単に偽造できるので。
– Cookie を使用する際には、Cookie の信頼性チェックを行え
  ・Cookie の形式は正しいか?
  ・正しいIPアドレスからこの Cookie は送られてきているか?
  ・Cookie を使用するときは、SSLを使うのが望ましい(楽になるから)
– ファイルは、明示的にリードモードでOpenせよ
– ファイル名に含まれる文字を精査せよ
  ・| だとか .. だとか
– Input のcharacter をチェックせよ。特に、 NULL character (%00) が入っていないかチェックせよ
– Javascript での前処理は信用するな
– GET/POST/COOKIEの変数をSystem Call 及び Pipe の引数にするときは十分注意せよ。基本的にこうした変数の中身を何かに使うときは、事前に想定されたものであるかどうかのチェックをすること。
– Perl で、system() を使うときはは list として使え
  e.g. system \’wc\’, \’-c\’, $file;
– Perl: backtick ではなく、fork() + exec() を使え

コメントを残す

メールアドレスが公開されることはありません。

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください