突破上传之文件包含漏洞以及修复方案

这篇博客探讨了PHP的文件包含功能,包括include()、require()等语句的使用,以及本地和远程包含的概念。文章提到了利用WAF绕过安全防护,通过上传伪装的txt或jpg文件创建恶意小马文件的攻击方式。对于修复文件包含漏洞,建议采用白名单机制,限制可包含的文件类型,以防止攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.文件包含功能概述

对一个简单的 PHP 小程序来说,在不同的 PHP 脚本之间剪切或复制某一函数不是大问题, 但是当进入项目开发时,函数的数量将会变得相当庞大,并且函数具有较强的复杂性,这时你就会把它们保存到一个便于随时调用的函数库中,以便于该函数在整个项目中可以随时被调用。通常情况下这个函数库是一个文件,我们称为代码库。当为特定领域的功能编写函数时,希望通过把自定义的这些函数组织到一起,并存放到 单独的代码文件中。当团队开发项目时,如果有统一的通用函数文件,则将大幅缩短项目的开发周期,并使 得项目的层次结构分明。

2.常见包含语句

include() 只有代码执行到include()语句时才将文件包含进来,发生错误时只给出一个警告,向下执行

require() 程序一执行立即调用文件,如果发生错误,语句会输出错误信息,并终止脚本的运行。

include_once() 当重复调用同一文件时,程序只能调用一次。

require_once()同上

3.本地和远程包含

waf能够拦截我们上传的带有危险函数的php文件,所以我们需要将其改为其他格式上传,比如txt,jpg

txt的小马

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值