10-WEB-BugkuCTF之变量1
2018-06-29 本文已影响399人
evil_ice
一,题目--变量1
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,从GET请求中获取变量args,并且args要满足只能是字符a-z,A-Z,下划线(_)和数字。
- 2 ,当我们看到eval函数时,会联想到传入php代码让其执行。
- 3,$$args,可以理解为$($args) 。例如
<?php
$a="22+3*4";
$b ='a';
echo $$b;
?>
将打印22+3*4
- 4,综上分析,联想题目的提示:flag In the variable !,我们传入全局变量GLOBALS尝试。
- 5,得到flag
三,知识点
- eval函数
- $$的含义
- 全局变量