web安全学习笔记之文件包含

1.文件包含简介

     服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间。这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时,您只更新一个包含文件就可以了,或者当您向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)。

2.文件包含函数与常见的包含方式

当使用这四个函数包含一个新文件时,该文件将作为 PHP 代码执行,

php 内核并不在意该被包含的文件是什么类型。

所以如果被包含的是 txt 文件、图片文件、远程 url、也都将作为 PHP 代码执行。

如果文件内容不符合PHP语法,就会将该文件内容读取出来。

文件包含函数

include()

当使用该函数包含文件时,只有代码执行到 include() 函数时才将文件包含进来,

发生错误时只给出一个警告,继续向下执行。

include_once()

功能和 include() 相同,区别在于当重复调用同一文件时,程序只调用一次

require()

只要程序一执行就会立即调用文件,发生错误的时候会输出错误信息,并且终止脚本的运行

require_once() 

与 require() 相同,区别在于当重复调用同一文件时,程序只调用一次

几种常用的包含的方式

  • 同目录包含 file=.htaccess
  • 目录遍历 ?file=../../../../../../../../../var/lib/locate.db
  • 日志注入 ?file=../../../../../../../../../var/log/apache/error.log
  • 利用 /proc/self/environ

3.文件包含漏洞产生的原因与危害

开发人员希望代码更加灵活,有时会将包含的文件

设置为变量,用来动态调用,由于这种灵活性,可能导致攻击者调

用恶意文件,造成文件包含漏洞

4.漏洞类型与绕过技巧

读取敏感信息

Session文件包含

PHP伪协议绕过

绕过WAF

日志文件包含

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值