原理:利用GET方式传进去的值,再利用eval()函数的漏洞执行,但实际上这道题关键是读懂这句代码eval(“var_dump($$args);”);
我们传进去的$args又作为一个新的变量放在var_dump()函数中执行。
var_dump()有两个功能:
1、函数用于输出变量的相关信息
2、函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
我们发现代码中并没有定义、$args这个变量,那么联想到可能是个全局变量,所有的全局变量都放在一个$GLOBALS[index]的超全局变量数组中,我们传$args=GLOBALS就能看到flag了
发现args=GLOBALS时,flag出现了