打开题目所在的环境,发现是快照获取的工具,这里我尝试输入的是百度的网址,发现他会返回这个网站的一些基本信息 :
这个题目提示了ssrf,我们这里用file协议开始测试:
file:///etc/password
发现返回的结果是:害羞羞,试试其他路径?
然后这里可能是file协议能用但是读取不了这个文件尝试:
file:///flag
这里运行之后给了提示:
这里输入:
file:///fl4g
给了提示:
这里直接访问我们可以看到一段php代码:
<?phphighlight_file(__FILE__);
error_reporting(0);$file = $_GET["file"];
if (stristr($file, "file")){die("你败了.");
}//flag in /flag
echo file_get_contents($file);
我们审计这段代码好像发现它把file协议给过滤了,然后这里我看了题解,是用filter伪协议读取根目录下的flag:
?file=php://filter/read=convert.base64-encode/resource=/flag
将得到的进行base64解码就能得到flag。