2019年8月9日金曜日

セキュリティー対策(3)

ヌルバイト攻撃
NULL(ヌル)という特別な文字列を使うことで、チェックをすり抜けてしまします。

プログラム上の変数でデータの値が無効であるとか、初期化されていない場合
NULLというものになっているのですが、
あえてNULLにしたい場合に、\0 や という文字列をつかうことができます。

対策を怠ると、これを入力欄等に渡すことによって、入力されていないのに
入力されたかのように振る舞うようになってしまいます。


  <?php
 if ($_GET['password'] == '') {
  echo 'パスワードを入力してください。';
 } else {
  echo '入力 OK';
  echo 'パスワードは、' . $_GET['password'] . 'です';
 }
  
  ?>






これは、パスワード欄にNULLを入れたようになってますが、
中身を表示すると、空なので設定されていないことになっている例です。

送られてきた値は、中身にNULLが含まれていないか確認することが必要ですね~。

https://www.filetalk.info/index.html

0 件のコメント:

コメントを投稿