DVWA靶场File Inclusion (文件包含) 漏洞所有级别通关教程及源码解析
文件包含
文件包含漏洞(File Inclusion Vulnerability)是一种常见的网络安全漏洞,主要出现在应用程序中不安全地处理文件路径时。攻击者可以利用此漏洞执行恶意文件,或者访问不该被访问的文件
1. low
有3个页面

随便点击一个,可以在url处发现传参点

访问:http://127.0.0.1/DVWA/vulnerabilities/fi/?page=file4.php ,可以看到下面的提示

远程文件包含

本地文件包含

源码审计
<?php
// The page we wish to display
$file = $_GET[ 'page' ];
?>
可以看到没有做任何过滤
2. medium
访问file4.php,依然可以访问

访问?page=../../phpinfo.php发现没有回显,可以确定是被过滤了
尝试双写绕过,成功绕过

..././ <=> ../
源码审计
<? php
// 显示的页面
$file = $_GET['page'];
// 输入验证
$file = str_replace(array("http://", "https://"), "", $file);
$file = str_replace(array("../", "..\\"), "", $file);
?>
将http://; https://; ../ ; ..\ 替换为了' ' ,可以利用双写绕过过滤
3. high
访问1.php看看报错信息

直接文件读取

源码审计
<?php
// 显示的页面
$file = $_GET['page'];
// 输入验证
if (!fnmatch("file*", $file) && $file != "include.php") {
// 这不是我们想要的页面!
echo "错误:文件未找到!";
exit;
}
?>
要求了参数必须以file开头,即?page=file.......... ,否则就会报错
4. impossible
源码审计
<?php
// 我们希望显示的页面
$file = $_GET['page'];
// 只允许 include.php 或 file{1..3}.php
if ($file != "include.php" && $file != "file1.php" && $file != "file2.php" && $file != "file3.php") {
// 这不是我们想要的页面!
echo "错误:文件未找到!";
exit;
}
?>
只允许访问include.php 或 file{1..3}.php页面,其他页面全部过滤
DVWA靶场File Inclusion (文件包含) 漏洞所有级别通关教程及源码解析的更多相关文章
- DVWA之File Inclusion(文件包含)
目录 LOW: Medium: High Impossible LOW: 源代码: <?php // The page we wish to display $file = $_GET[ 'pa ...
- Pikachu-File Inclusion(文件包含漏洞)
File Inclusion(文件包含漏洞)概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中 ...
- DVWA各级文件包含漏洞
File Inclusion文件包含漏洞 漏洞分析 程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用文件的过程被称为包含. 有时候由于网 ...
- 2. DVWA亲测文件包含漏洞
Low级: 我们分别点击这几个file.php文件 仅仅是配置参数的变化: http://127.0.0.1/DVWA/vulnerabilities/fi/?page=file3.php 如 ...
- 文件包含漏洞File Inclusion
文件包含漏洞 目录遍历漏洞在国内外有许多不同的叫法,也可以叫做信息泄露漏洞.非授权文件包含漏洞等. 文件包含分类 LFI:本地文件包含(Local File Inclusion) RFI:远程文件包含 ...
- 文件包含漏洞(file inclusion)
文件包含漏洞原理:(php) 是指当服务器开启allow_url_include选项的时候,通过php某些特性函数.如include().include_once().require().requir ...
- php文件包含漏洞 file inclusion vulnerability
0x00 何为文件包含漏洞 开发人员如果在写类似include "a.php"的代码时,如果将a.php写成了可变的值,那么就可以在上面做文章,举个理想的例子: <? inc ...
- 文件包含漏洞(DVWA环境中复现)
LOW: 源代码: <?php // The page we wish to display $file = $_GET[ 'page' ]; ?> 可以看到,low级别的代码对包含的文件 ...
- DVWA之File Upload (文件上传漏洞)
目录 Low: Medium: 方法一:抓包修改文件的type 方法二:00截断 High: Impossible : Low: 源代码: <?php if( isset( $_POST[ 'U ...
- DVWA-File Inclusion(文件包含)
文件包含漏洞,当我们在一个代码文件想要引入.嵌套另一个代码文件的时候,就是文件包含. 常见的文件包含函数有include require等函数. 这两个函数的区别就是include在包含文件不存在时p ...
随机推荐
- 3-5&&6 C++数组遍历
遍历二维数组的三种方式 #include<iostream> #include<string> #include<vector> using namespace s ...
- java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(Ljava/io/File;Z) 报错处理
字面看下:没有该方法,首先应该推测有可能是Jar冲突导致的,因为一些jar中的类在升级的过程中不会向下兼容,所以有一些高级属性或方法就jar中没有,此POI就是. 可以先看下这个类的资源加载路径: C ...
- NZOJ 模拟赛6
T1 叉叉 现在有一个字符串,每个字母出现的次数均为偶数.接下来我们把第一次出现的字母a和第二次出现的a连一条线,第三次出现的和四次出现的字母a连一条线,第五次出现的和六次出现的字母a连一条线...对 ...
- Java虚拟机深入研究
文章来自:http://www.qqread.com/java/w872354600.html Java技术与Java虚拟机 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一 ...
- 五、FreeRTOS学习笔记-任务创建和删除(动态方式)
1任务控制块:保存任务的一些信息 (STM32的栈是由告高地址向低地址延伸的,由上向下生长) (STM32的堆是由告低地址向高地址延伸的,由下向上生长) 第一步申请内存 如下如所示步骤找到xTaskC ...
- golang模板库之fasttemplate
简介 fasttemplate是一个比较简单.易用的小型模板库.fasttemplate的作者valyala另外还开源了不少优秀的库,如大名鼎鼎的fasthttp,前面介绍的bytebufferpoo ...
- golang之媒体处理
[视频] 获取视频封面图: 1) 如果是使用oss的话, 可以添加指定的后缀生成指定图片 视频截帧: https://help.aliyun.com/zh/oss/user-guide/video-s ...
- word 文档签章控件生成的签章批量删除
某个签章工具的word插件缺少批量插入签章的功能.同时,发现在投标工具中可以使用导出生成pdf时批量签章的功能.现在需要移除先前手动操作生成的多个签章,有如下发现-- 1.对少量签章,可以先选中签章右 ...
- Kafka 1.1.1 源码编译
下载源码 git clone -b 1.1.1 https://github.com/apache/kafka.git --depth=1 使用这样的方式下载主要是解决两个问题:其一,下载指定分支 ...
- ZCMU-1156
思路: 要改变的是一个范围的情况,所以正常情况下会超时. 查阅后知道应该用一个叫做树状数组的结构. 查阅和树状数组的后续情况 这个也不错 注意: 我没怎么看懂,可能没太仔细看. 树状数组当中存在的是前 ...