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/
作者
Obscure
发布于
2020年8月30日
许可协议