【 PHP 】PHP8に入門してみた 226日目 PHPの基本 ( 高度 セキュリティ その4 )

2023年4月4日

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

高度

パストラバーサル対応

パス トラバーサル攻撃は、ウェブアプリケーションがファイルのパスを直接ユーザーの入力に依存して取得する場合に発生する可能性があります。
攻撃者はディレクトリトラバーサル攻撃を使用してウェブサーバーのファイルシステム内のディレクトリやファイルにアクセスし、機密情報を盗んだり
システムを乗っ取ったりすることができます。

PHPでパストラバーサル攻撃を防ぐためには、以下の手順を実行することが大事です。

  1. ユーザー入力の検証:
    ファイルパスを取得する前に入力された値を検証することが重要です。
    ユーザー入力を検証して不正な文字やパスの分割などの攻撃的なコードを排除する必要があります。
  2. ファイルパスの正規化:
    入力されたパスを正規化することで、攻撃者がディレクトリトラバーサル攻撃を行うことを防ぐことができます。
    PHPの realpath() 関数を使用することで、実際のファイルパスを取得することができます。
  3. ファイルパスの制限(ホワイトリスト):
    アプリケーションでアクセス可能なファイルの範囲を制限することも重要です。
    例えば、特定のディレクトリのみにアクセスできるようにするなどの方法があります。
  4. セキュリティのアップデート:
    PHPのバージョンや関連するライブラリやフレームワークなどを最新の状態に保つことも重要です。
    新しいセキュリティの脅威に対処するための更新プログラムが定期的に提供されるためです。

メモ

PHP独自の機構はないようですね。やはり地道にやるしかないですよね😉

昔はディレクトリトラバーサルって言ってませんでしたかね?

PHPPHP

Posted by raika@blog