打开题目后是一段php代码:

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);");
}
?>

知识补充:

  1. int preg_match(string $pattern , string $subject):
    这是php的正则表达式匹配函数,返回成功匹配的次数。还可以附加参数将匹配到的文本存入数组中,详细的话见手册。

代码分析:

提示flag隐藏在变量中,可以用GLOABALS找出flag。虽然代码的思路可以利用截断来输出flag,但是我们并不知道flag的变量名,无从下手。
paload:?args=GLOBALS

posted on 2021-02-08 16:14  burningCrystal  阅读(174)  评论(0编辑  收藏  举报