拿到题目没有什么提示,打开环境,只有一个超链接。
点击超链接,看一下有没有什么信息,得到下面语句
包括超链接里面的源代码也没什么有用的信息,回归原页面,看一下源代码里面有没有什么有用信息。
注意网址,网址出现变化,URL后面有以get的形式进行访问的文件fla.php。开始尝试更改file的内容,比如index.php等
好吧,啥都没有,更改思路,看题目内容include,文件包含,可以使用伪协仪。
最常用的是php://filter
(用于读取源码)
php://filter
是 PHP 的一个特殊协议,用于对数据流进行过滤或处理。它通常用于对输入/输出流(如文件、网络请求等)进行编码、解码或执行其他转换操作。
基本语法
php://filter
的基本语法如下:
php://filter/<filter_name>/resource=<resource>
-
<filter_name>
:指定要应用的过滤器名称。 -
<resource>
:指定要处理的资源,例如文件路径、网络请求等。php://filter/convert.base64-encode/resource=flag.php
根据本题可以编写出一个最常用的payload
?file=php://filter/convert.base64-encode/resource=flag.php
flag会以base64编码的形式出现
ok,解出flag
回顾题目,考点在题目就已经告诉,文件包含,当输入文件没有信息出现之后,可以尝试伪协议。
php://filter/除了base64以外还有utf8和utf16等,需要进行更进一步的学习。