PHP ファイル包含脆弱性の仕組みと対策および実証実験

ファイル包含脆弱性の概要 Web 開発において、共通の処理をまとめたファイルを複数の脚本から呼び出すことは一般的です。この仕組みを「ファイル包含」と呼びます。しかし、包含するファイル名をユーザー入力に基づいて決定し、かつ適切な検証を行わない場合、攻撃者が任意のファイルを読み込んだり、悪意のあるコードを実行したりする脆弱性が発生します。 PHP において ...

7月27日 18:06 投稿

PHPセキュリティ脆弱性の深層分析

1. PHPの型比較に関する脆弱性 1.1 ハッシュ比較の脆弱性 PHPでは科学記数法表記の文字列を数値として処理する特性があります。この性質により、異なる文字列のMD5/SHA1ハッシュ値が0eで始まる場合、比較演算子(==)使用時に同一と判定されます。 $input1 = 's104885129a'; $input2 = 's189602793a'; if(md5($input1) == md5($input2)){ echo "一致"; } MD5脆弱性ペ ...

7月3日 19:00 投稿

PHP 環境における register_globals ディレクティブの挙動と対策

register_globals 設定値による変数スコープの違い php.ini 構成ディレクティブである register_globals は、外部から入力されたデータを PHP スクリプト内でどのように変数として利用可能にするかを制御します。この設定値は On または Off で指定され、変数の可視性に大きな影響を与えます。 以下のフォーム送信例を用いて、設定値による挙動の違いを確認します。 <fo ...

5月20日 15:19 投稿