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

posted @ 2019-03-30 16:04  A思  阅读(268)  评论(0编辑  收藏  举报