PHP文件包含

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP文件包含相关的知识,希望对你有一定的参考价值。

今天突然发现这个东西有好多奇怪的东西,特别写一下记一下

测试用的1.txt及phpinfo.php内容都是phpinfo()

 

截断:

 

好多.和好多./截断:这里不测试了,摘自代码审计一书,5.2可用,5.3修复

windows下240个‘.‘可截断,同样的‘.‘加‘/‘也是240个截断,linux下2038个‘/.‘才可截断

 

%00截断:%00截断在5.2版本可以使用,5.3及以后版本被修复,如果开启了GPC或者addslashes了,同样无法截断

5.2版本:

技术分享

5.2版本 addslashes:

技术分享

技术分享

被添加了‘\‘,GPC也是一样,这里不测试了

5.3版本:

技术分享

 

‘?‘截断:只有在远程包含才能使用,注意本地包含无法使用,不受版本限制

5.5版本:

技术分享

 

包含:

 

普通包含:没啥好说的,就是普通包含

 

php://input包含:在allow_url_include为On的情况下可用,不受版本限制

5.5版本:

技术分享

技术分享

 

php://filter/read=convert.base64-encode/resource= 方法读取源码:基本都能用,路径被限制则失败
5.5版本:
技术分享

技术分享

 

5.5版本 限制路径:

技术分享

技术分享

 

 就这么多,若有错误请留言!

以上是关于PHP文件包含的主要内容,如果未能解决你的问题,请参考以下文章

php本地文件包含 Writeup

文件包含漏洞---php协议

如何使用包含的 php 文件中的 php 变量

PHP 是不是包含相对于文件或调用代码的路径?

PHP:文件包含漏洞

PHP中的文件包含