文件包含函数:include、include_once、require、require_once
include/require区别:对文件包含的操作几乎一样除了在报错方面有差别,include函数假如找不到所包含的文件它会跳过执行下一条代码,发出警告(warning)但是对于require函数,他会出现报错(Error)然后结束。
windows+apache的文件日志路径:D:\phpStudy\PHPTutorial\Apache\logs
Linux+apache的日志文件路径:/var/log/apache2
(包含日志文件)
利用思路:我们写一句话木马进行访问,访问后会在日志文件留下痕迹,然后我们在包含日志文件执行一句话木马
(注:遇到网页将我们写的东西url编码后写入,我们可以burpsuite抓包修改)
用于访问本地文件系统的文件 条件:allow_url_fopen: off/on allow_url_include: off/on
php伪协议
常用的php://filter 和 php://input
php://filter
? (参数如图)
(过滤器如图)
使用方法举例:
php://filter协议头 read=读取形式 这里的string.toupper 是将读出来的字符串大写形式呈现(可以多种形式重叠 中间以“|”链接) resource 接对象
(注:关于为什么我们读数据的时候很多时候用base64编码后再去转码,假如想string.toupper这样的读取方式,结果输出的其实是运行后的代码,而不是php源码,所以我们要加密后再解密去看源码)
原文:https://www.cnblogs.com/cjz12138/p/13672519.html