[web安全]文件包含漏洞 复习

一、原理解析

文件包含漏洞的产生是由于在引入文件时,对传入的文件名没有做限制或者限制被绕过,从而造成攻击者进行任意文件包含;

注意:包含的文件都会被当作脚本文件进行解析!!(即使是jpg文件,例如图片马也会被当作脚本文件执行,故里面的一句话木马就会被执行)

文件包含本身是一个功能点,任意文件包含才是一种漏洞

文件包含类别:本地文件包含和远程文件包含(即包含的文件所在的位置,后者文件是在远程服务器上)

其中远程文件包含在php配置文件中开启两个参数:

1)allow_url_fopen=On(默认为On):规定是否从远程服务器或者网站检索数据

2)allow_url_include=On(php5.2之后默认为Off):规定是否允许include/require远程文件

二、函数解析

include:当引用的文件出错时,系统弹警告但不影响后续的代码执行

include_once:只会包含一次

require:引用的文件出错,后续代码全部不执行

require_once:只会包含一次

三、文件包含 防御

1、过滤危险字符,例如http:// https://等等,或者说相对路径的字符例如../../这样的字符

2、关闭危险配置,例如allow_url_include=Off,尽量不变

2、尽量使用白名单过滤被包含的文件

四、dvwa靶场

首先上传一个muma.php文件改为hello.jpg文件通过file upload上传

上传,得到文件路径../../hackable/uploads/hello.jpg

1、security=low

2、security=medium

查看源码被过滤,绝对路径绕过

3、security=high

查看源码,必须是file开头,第一时间想到file协议

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值