bugku-web-变量1
<?php
error_reporting(0); 关闭php错误提示
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){ //$args匹配正则表达式,\w表示【A-Za-z0-9]以及下划线,^表示开头,$表示多次匹配;但前面有一个!,表示$args没有匹配上才输出“args error"
die("args error!");
}
eval("var_dump($$args);"); //$$表示可变变量//可变变量:该变量的名称由另外一个变量来确定
} ?>
先理解代码
$GLOBALS — 是一个数组,包含了全局作用域中可用的全部变量。变量的名字就是数组的键
所以args=GLOBALS