题目考查点
1.php文件包含漏洞
2.使用php://filter绕过限制
涉及知识点
1.php文件包含漏洞指服务器通过php的特性去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,导致执行了非预期的代码,从而产生安全漏洞。文件包含漏洞的一般特征如下:
?page=a.php
?home=a.html
?file=content
具体可见:
php文件包含漏洞
文件包含漏洞的几种利用方法
文件包含漏洞详解
2.使用php封装协议读取文件,一般可以使用两种方式:
?page=php://filter/read=convert.base64-encode/resource=index.php
?page=../../../../../../etc/passwd
3.php://filter是php中特有的一个协议,可以作为一个中间流来处理其他流,可以进行任意文件的读取。其中,resource参数指定了要过滤的数据流,read或者write参数都可以设定一个或多个过滤器,以符号|分隔。其主要应用包括利用base64获得源码或者通过读写编码实行绕过操作等,本题就是利用它将引发冲突的文件流进行编码处理。
具体可见:
浅述filter妙用
解题步骤
1.在url后面输入?page=php://filter/read=convert.base64-encode/resource=flag
,先将可能引发限制的php代码用base64编码,从而绕过限制。
2.将页面出现内容进行base64解码,得到flag。
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!