当前位置:   article > 正文

php中有关文件包含的函数有哪些,文件包含有关

文件包含的函数有哪几个?它们有什么区别?

文件包含有关

文件包含函数:include、include_once、require、require_once

include/require区别:对文件包含的操作几乎一样除了在报错方面有差别,include函数假如找不到所包含的文件它会跳过执行下一条代码,发出警告(warning)但是对于require函数,他会出现报错(Error)然后结束。

文件包含防御

使用open_basedir限制访问在指定区域

过滤.(点)/\(斜杠 反斜杠)

禁止服务器远程文件包含

尽量不要使用动态包含,可以在需要包含的页面固定写好

包含日志文件获取webshell

windows+apache的文件日志路径:D:\phpStudy\PHPTutorial\Apache\logs

Linux+apache的日志文件路径:/var/log/apache2

585626fb29131f1916e5f815bd2e73dc.png

(包含日志文件)

2cc90475824802a88416cb407f5e0ef9.png

利用思路:我们写一句话木马进行访问,访问后会在日志文件留下痕迹,然后我们在包含日志文件执行一句话木马

(注:遇到网页将我们写的东西url编码后写入,我们可以burpsuite抓包修改)

文件包含与伪协议

file伪协议

用于访问本地文件系统的文件 条件:allow_url_fopen: off/on allow_url_include: off/on

6fd5beec8d21b124f84be213c03d2e05.png

php伪协议

常用的php://filter 和 php://input

php://filter

e1663145ae8b1965b7c902136c094a27.png

?(参数如图)

78f025b48f74ba1c9493c0be7d968f08.png

(过滤器如图)

使用方法举例:

php://filter/read=string.toupper/resource=http://www.example.com

php://filter协议头 read=读取形式 这里的string.toupper 是将读出来的字符串大写形式呈现(可以多种形式重叠 中间以“|”链接) resource 接对象

php://filter/write=string.rot13/resource=example.txt”,”Hello World”

(注:关于为什么我们读数据的时候很多时候用base64编码后再去转码,假如想string.toupper这样的读取方式,结果输出的其实是运行后的代码,而不是php源码,所以我们要加密后再解密去看源码)

原文:https://www.cnblogs.com/cjz12138/p/13672519.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/309088
推荐阅读
相关标签
  

闽ICP备14008679号