版权声明:a3uRa QQ:962620891 github:asuralinmo.github.io https://blog.csdn.net/qq_41173457/article/details/82055475
flag In the variable ! <?php
error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){
die("args error!");
}
eval("var_dump($$args);");
}
?>
flag在变量中,我们看到$$ $$ 我们知道容易引发变量覆盖
还有一段正则表达式 /^\w+$/ 进行过滤
不会的可以百度或者Google
[a-z0-9A-Z] 以外的都不行 我们 get传入args
我们让args=GLOBALS 全局数组变量 关于这个变量可以百度Google
$args=GLOBALS 又和var_dump($$args) 前面那个$ 组成$GLOBALS
flag变量又在$GLOBALS中,var_dump eval 成功得到flag