PHP中var_dump、&&和GLOBALS的爱恨纠缠

var_dump函数:用来打印显示一个变量的内容与结构;

&&:定义一个可变变量。php中,在定义变量时,需要在前面加上一个“&”符号,当加上两个“&&”符号时,就定义了一个可变变量。可变变量的名称,有另一个变量的值确定。eg:&a  定义了一个普通变量;&&b  定义了一个可变变量;如果我们令b这一个可变变量的值等于a,则在这里&a等同于&&b;

DLOBALS:一个包含了全部变量的全局组合数组

 

下面是bugku上面的一道题,就是完美的运用了这三个方法。

首先看到要用get方式提交一个args参数,而在最后一行代码里又有var_dump(&&args),于是传入args参数的值为GLOBALS,这样最后一行代码就变成了var_dump(&GLOBALS),然后var_dump函数运行会输出所有变量,得出flag。

(ps:本人太菜,若有错误的地方欢迎大佬随时责骂。。。。xixixii)

posted @ 2019-05-20 15:43  梁十安  阅读(386)  评论(0编辑  收藏  举报