File Paths
提供: GeeklogJpWiki
ファイルのパス
相対パスに注意する
システム保存されているファイルと協調するよう設計されているプラグインは,そのパスの扱いを慎重にしないとセキュリティ上の問題の影響を受けやすくなります。
たとえば,プラグインでユーザーに一覧からファイル選択させ,そのファイル名を表示用に渡す場面(ログビューワなど)を考えてください。
<?php $filename = $_POST['filename']; readfile( $_CONF['path_system'] . '/plugins/myexploitablefileplugin/files/' . $filename ); ?>
これは非常に脆弱です。悪意のあるユーザは,../../../../../etc/passwdなどの公開されたくないファイル名をインジェクトとする可能性があります。あなたがこの方法を使ってtheme.phpをインクルードしたとしましょう。ユーザはどんなものでもインジェクトして,エラーログに出力することができるでしょう!