Day9
变量1
http://123.206.87.240:8004/index1.php
本题要点:正则表达式、可变变量、全局变量
对代码的解释:
<?php
error_reporting(0); // 关闭php错误显示
include "flag1.php"; // 引入flag1.php文件代码
highlight_file(__file__);
if(isset($_GET['args'])){ // 通过get方式传递 args变量才能执行if里面的代码
$args = $_GET['args'];
if(!preg_match("/^w+$/",$args)){ // 正则表达式的意思是匹配任意 [A-Za-z0-9_] 的字符,就是任意大小写字母和0到9以及下划线组成
die("args error!");
}
eval("var_dump($$args);");
}
?>
介绍一下可变变量
具体详情见:
https://www.php.net/manual/zh/language.variables.variable.php
所以我们只需给变量传一个全局数组变量就好了 所以我们构造 ?args=GLOBALS加到url后面
http://120.24.86.145:8004/index1.php?args=GLOBALS
注:此处全局变量的GLOBALS必须为大写!!!!
便可得到FLAG
完成!
参考资料:
https://www.php.net/manual/zh/language.variables.variable.php