SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZineニュース

[PHPプロ!] open_basedirに対する混乱

  • このエントリーをはてなブックマークに追加

  • このエントリーをはてなブックマークに追加

Stefan Esser氏が自身のブログ[PHP Security Blog]で、open_basedirの欠陥を指摘しつつも、その有効性を説明しています。

 Stefan Esser氏が自身のブログ[PHP Security Blog]で、open_basedirの欠陥を指摘しつつも、その有効性を説明しています。

 確かに、open_basedirには設計上の欠陥があり、シンボリックリンクを作成することで、opne_basedir制限を容易く回避できます(詳しくはAdvisory 08/2006: PHP open_basedir Race Condition Vulnerabilityを参照して下さい)。

 それでも、open_basedirを用いるべきであると筆者は主張しています。特に、インクルード攻撃に対して有効な対応策となるのです。

 彼は、ブログで以下のように述べています。

 リモートファイルのインクルードに対しては、 PHPアプリケーションの安全な運用を目的としたプロジェクト(Suhosinなど)が有効に働きます。しかし、ログファイルや、POSTでアップロードされたテンポラリファイルなど、ローカルファイルをインクルードする攻撃に対し、それらは有効ではありません。特に、テンポラリファイル名を生成する部分に脆弱性があるシステムでは、深刻な問題となります。

 この攻撃に対し、open_basedir制限は非常に強力な盾となります。もしインクルードさせたいファイル名をリモート攻撃者が埋め込んでいたとしても、open_basedir制限を回避できません(※)。それゆえに、ローカルファイル・インクルード脆弱性を突けるファイル数は限定されます。また、open_basedirが適切に設定されていれば、ログファイルなどをインクルードできません。結果、攻撃の危険度は大幅に下がります。

 ※ただし、リモートからopen_basedir制限を回避できるセキュリティ・ホールがpack関数にあります。(PHPプロ!

関連リンク

関連ニュース

転載元

 PHPプロ!:最新のPHPニュース

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
この記事の著者

PHPプロ!(PHPプロ!)

PHPプロ!」は、アシアル株式会社が運営するPHP開発者のためのポータル&コミュニティサイトです。同サイトでは、PHP最新ニュースや、困ったときのQ&A掲示板、初心者向けのPHP講座、PHP中級者のためのTIPSメーリングリスト、中・上級者向けの技術ノウハウ満載のPHPプロ!マガジンの提供など、PHP開発...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1023 2007/02/19 11:40

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング