赞
踩
文件包含有关
文件包含函数: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
(包含日志文件)
利用思路:我们写一句话木马进行访问,访问后会在日志文件留下痕迹,然后我们在包含日志文件执行一句话木马
(注:遇到网页将我们写的东西url编码后写入,我们可以burpsuite抓包修改)
文件包含与伪协议
file伪协议
用于访问本地文件系统的文件 条件:allow_url_fopen: off/on allow_url_include: off/on
php伪协议
常用的php://filter 和 php://input
php://filter
?(参数如图)
(过滤器如图)
使用方法举例:
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。