文件包含漏洞学习篇

原理

在开发中,程序人员一般会把重复使用的函数写到单个的文件中,需要使用的时候就会直接调用此文件,无需再进行重复的编写,这个调用文件的过程一般就称之为文件包含。
文件包含相关函数:include()、include_once()、require()、require_once()

漏洞产生原因

通过函数调用文件的时候,由于对包含的文件没有进行有效的过滤处理,就有可能被攻击者利用从而导致了Web目录以外的文件进来,就会导致文件信息的泄露甚至注入了恶意的代码

分类

1 本地文件包含(LFI)

本地文件包含就是通过浏览器包含Web服务器上的文件

2 远程文件包含(RFI)

远程文件包含就是通过浏览器包含第三方服务器上的文件,开启远程文件包含的条件是php.ini中的allow_url_fopen和allow_url_include

示例

以DVWA为实验靶机,分别演示本地文件包含、远程文件包含
本地文件包含:
在var/www/dvwa/vulnerabilities/fi创建一个phpinfo.php,写入如下代码
在这里插入图片描述然后在靶机运行,得到下面的页面,说明页面是成功包含进来的
在这里插入图片描述远程文件包含:
这里用虚拟机再搭建一个网站做实验,这里我以虚拟机搭建网站为例
在这里插入图片描述可以看到远程文件已经包含进去了,但是由于css和js的缺少,所有显得页面较为不好看

绕过方法

本地文件包含绕过
1.%00截断
2.路径长度截断
3.点号截断
远程文件包含绕过
1.?号绕过
2.#号绕过
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值