BugkuCTF-Web-变量1

BugkuCTF-Web-变量1_第1张图片

打开解题链接发现是一段PHP代码,虽然还没正儿八经学PHP,但是,一顿乱分析之后还是能发现一点问题的,哈哈哈哈哈哈哈哈

BugkuCTF-Web-变量1_第2张图片

接下来我们来分析一下源码:

flag In the variable ! 

根据最后一句代码:var_dump()可知,这是代码审计。。于是。。。于是。。。我想起了PHP里面的一个超级全局变量GLOBALS。

提示说flag在变量里面,经分析只要运行 eval("var_dump($$args);");,falg很有可能就会出来

$$args====>我们可以猜想$args很有可能是一个数组,应该想到的就是超全局变量$GLOBALS

他是用存储全局变量的,全局变量的值在这个超级全局变量里面是一个键值,先当于hashmap的键值对

全局变量可以通过变量名在$GLOBALS找到相对应的值。

eval()这个函数的作用是字符串里面的php代码按正常的php代码被执行

通过构造一个GET参数,直接传GET一个全局变量即可

http://123.206.87.240:8004/index1.php?args=GLOBALS

BugkuCTF-Web-变量1_第3张图片

构造之后,直接在浏览器中运行,网页爆出了flag。

你可能感兴趣的:(CTF)