CTF学习笔记——Secret File
一、[极客大挑战 2019]Secret File
1.题目

2.解题步骤
发现源码中有一个room.php,点进去看一下
继续点action.php
这里直接显示了end.php啊,不怎么会用burp,这里直接用谷歌自带的抓一下看看
玩我??又看了一下请求头,是302 found
百度了一下302 found
说明action.php里面确实有flag,但是被临时改到了end.php下。但是没有头绪了…只能看writeup了..。
查阅后发现是需要burp的,无奈,落下的课还是要补上…
经过漫长的burp调试,终于抓到了responsed包,看到了提示的php文件。访问这个地址
是源码。先看看flag.php

老老实实的看secr3t.php的源码吧…通过观察可以发现是构造了一个file变量然后访问文件内容,比如
至此之后彻底没思路了。看师傅的writeup,经提醒,这是一个文件包含漏洞,涉及php伪协议。在查阅了协议,伪协议,php文件访问等相关资料后,个人理解协议就是一个封装好的访问文件的函数。这道题没有过滤php://filter协议。而php://filter协议可以读取php文件代码以base64编码输出。因此师傅构造了一个padload读取flag.php的源码。
?file=php://filter/convert.base64-encode/resource=flag.php
在查阅了相关资料发现filter后面这一串基本上是一个固定的payload。具体细节在这位师傅的博客中。还在慢慢研究细节…也有其他题使用的文件包含漏洞如此访问的源码。因此下次遇见此类题直接如此就好。

祝师傅早点找到girlfriend~
3.总结
- 摸爬滚打学会了burp。是神器,勉强会用了…
- 基本了解了文件包含漏洞,下次再遇见类似的题可以直接丢这个php://filter
4.参考资料
CTF学习笔记——Secret File
http://blog.mingxuan.xin/2020/08/30/20200830/