目录
low
查看源码,它会get一个page
然后会交给include() 函数去包含,并读取内容出来
尝试手动修改为一个不存在于链接跳转中的文件
发现了提示,这是个未列出的文件
能执行访问,说明,此处可以包含其他文件
本地文件包含
我们尝试用它来包含获取系统的一些敏感文件
看看能不能通过相对路径去访问(提前在网站根目录创建了一个1.txt)
可根据故意输不存在的文件爆出路径去往前跳
文件包含,会先执行文件里的代码,所以这里1.txt里的东西是会执行为php代码
远程文件包含
可以使用一个http:// 伪协议去远程包含其他服务器上的文件
比如说
medium
这一关过滤了几个东西,但是他只有一轮过滤,可以使用双写绕过,也可以使用大小写绕过
这里尝试用其他伪协议读取
php://filter/read=convert.base64-encode/resource=1.txt
会将输出结果以base-64加密输出来
这里访问了一个 phpinfo(); 的文件,它还是将内容输出为加密方式,这就很不方便了
这里可以故意写错前面几个字母
就会执行啦
或者直接用 php://input + [post]
可以直接执行post传入的代码
high
它规定了page= 的东西必须以 file 开头
这里可以用 file:// 伪协议来进行绕过