鹏城杯CTF 脑洞大开的第二题 web myblog

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】
首先打开题目网站发现如图,就几个静态页面,然后什么都没有,毫无头绪,然后就这个页面算是又点用。如下图:
这里算是给了一些信息,php的程序,经常会用base64编码。然后访问这个站点的首页。
http://123.123.123.123:xxx/index.php 是一个空白页面,然是给浏览器里面写了一个cookie 是经过base64编码的,JTNmZmxhZw== 解开后是 %3Fflag 呵呵? 一脸懵逼。当时想着可能是http://123.123.123.123:xxx/index.php?flag=123123 ??? 没任何反应。。。
没一会儿,官方给提示,这是一道 LFI 相关的题。既然是 LFI 那就应该是php的文件包含了呗。 那就尝试。
然后源码如下:
很典型了对吧。。。然后内???然后包含你妹啊,什么系统文件,什么都访问不了。至此,思路打住了,要包含,你得有文件包含对吧??? 问题是现在除了 index.php 是已知的,其他全部都未知, 权限设置的也超级严格。。。至此解题中断。。。。
没过多久,官方又给提示了“听说about栏目也有后端?”,,,唔???啥意思?
http://58.20.46.150:xxxx/about.html 改为 http://58.20.46.150:xxxx/about.php 试试? 结果页面404,还是陷入僵局。。。
不过后来通过朋友解释,需要经过base64加密,因为前面程序说了会经常用base64,需要改成如下可以访问。
http://58.20.46.150:xxxx/YWJvdXQ=.php 这样就可以访问了。。。 我去NMD这脑洞!!!
既然到这里那就简单了,咱们读取一下这个文件源码。
这就很简单了,下一步就是变量重写,然后取flag.txt 。。。 但是万万没想到啊,官方真TMD坑啊,file_get_contents 禁用了http获取,,,我无法用它读取自己部署好的txt。。。无奈突然想起可以用php://input 最终过关拿到flag。如下图:
为了出题而出题,一点意思也没有