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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值