变量1

web——变量1


启动场景,发现又是一串php代码
image

flag In the variable ! <?php //提示flag在变量里
error_reporting(0);//关闭错误显示
include "flag1.php";//页面包含 flag1.php
highlight_file(_file_);//页面进行语法高亮显示
if(isset($_GET['args'])){//判断有没有使用get传参
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){//正则表达式匹配函数
die("args error!");//输出args error!并退出当前脚本
}
eval("var_dump($$args);");//var_dump()是输出变量的相关信息,eval()是把字符串当作php语言执行
}
?>


在这道题目里代码还是比较容易读懂的,解题的关键是要知道一个知识点

$GLOBALS可以表示这个脚本中的所有变量

所以这道题里可以get传参,/?args=GLOBALS

即可得到flag
image

posted @ 2022-07-16 21:16  ssuxi  阅读(42)  评论(0编辑  收藏  举报