打靶场的练习
1,目录遍历。
我写了一个TXT放在三w下面。
这是靶场文件所在位置,对比一下要跳三级才能跳到三W。
前面两个点不加/是当前位置。
源码
而且不止可以文件读取还有文件包含。
在这段代码中, require "soup/$filename" 这一行就是文件包含的关键语句。
require 是PHP的文件包含函数,它会把指定路径的文件内容“包含”到当前脚本中执行。这里的 $filename 是从用户可控的 $_GET['title'] 获取的,所以当用户传入恶意路径(比如包含 ../ 跳转上级目录的路径)时, require 就会去包含服务器上的任意文件,从而形成文件包含漏洞(也属于目录遍历漏洞的一种表现形式)。
简单来说,就是通过 require 函数对用户可控的路径进行了文件包含操作,这就是漏洞的核心成因。
以这个执行文件为蓝本开始跨越路径。
敏感信息泄露。
我勒个藏的深,其实我一开始也想看源码,但是没找到位置没耐心。
任意文件拼接下载。
构造路径
由于是路径拼接,所以造成这个样子。
跨越了一级文件,果然如此。
好像还有文件包含,调用这个变量,拼接footer.PHP。