使用php伪协议的前提
php.ini中的allow_url_fopen 、allow_url_include这两个参数需要修改为on
1.file协议
使用file协议读取Windows的系统文件
http://127.0.0.1/123.php?cmd=file:///c:/windows/system32/drivers/etc/hosts
2.php://filter协议
使用php://filter协议可以将php代码进行base64编码后显示出来
3.php://input
使用php://input协议可以将post请求的数据作为php代码运行
访问该协议并进行抓包
修改为post请求
修改参数内容
然后在下面输入php代码
可以发现php代码会被执行
4.data://
使用data://协议可以将数据直接嵌入url中
http://127.0.0.1/123.php?cmd=data:text/plain,<?php phpinfo(); ?>
5.zip://
使用zip://协议可以查看压缩包中的文件
?cmd=zip://d:/www.zip/flag_2376629629.txt
我这里访问的是d盘下的www.zip压缩包下的flag文件
6.phar://
使用phar://可以直接读取压缩包的内容
?cmd=phar://d:/www.zip/flag_2376629629.txt