DVWA靶场File Inclusion (文件包含) 漏洞所有级别通关教程及源码解析

文件包含

文件包含漏洞(File Inclusion Vulnerability)是一种常见的网络安全漏洞,主要出现在应用程序中不安全地处理文件路径时。攻击者可以利用此漏洞执行恶意文件,或者访问不该被访问的文件

1. low

有3个页面

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

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

远程文件包含

本地文件包含

源码审计

php 复制代码
<?php

// The page we wish to display
$file = $_GET[ 'page' ];

?>

可以看到没有做任何过滤

2. medium

访问**file4.php,**依然可以访问

访问**?page=../../phpinfo.php**发现没有回显,可以确定是被过滤了

尝试双写绕过,成功绕过

php 复制代码
..././ <=> ../

源码审计

php 复制代码
<? php
// 显示的页面
$file = $_GET['page'];

// 输入验证
$file = str_replace(array("http://", "https://"), "", $file);
$file = str_replace(array("../", "..\\"), "", $file);
?>

http://; https://; ../ ; ..\ 替换为了**' '** ,可以利用双写绕过过滤

3. high

访问1.php看看报错信息

直接文件读取

源码审计

php 复制代码
<?php
// 显示的页面
$file = $_GET['page'];

// 输入验证
if (!fnmatch("file*", $file) && $file != "include.php") {
    // 这不是我们想要的页面!
    echo "错误:文件未找到!";
    exit;
}  
?>

要求了参数必须以file开头,即**?page=file..........** ,否则就会报错

4. impossible

源码审计

php 复制代码
<?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页面,其他页面全部过滤

相关推荐
禾木KG8 小时前
网络安全-4 《中华人民共和国网络安全法》-2025年10月28日修正(共七章八十一条)
网络安全
0xSec笔记本挖呀瓦呀挖9 小时前
Windows后门应急(二)--计划任务后门分析与处置|Windows取证分析
windows·安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析
交个_朋友12 小时前
HTB Node writeup(漏家底、扒进程、栈捅穿、链糊弄、分号塞私货、内核踹上root)
渗透测试·oscp·htb
网云工程师手记18 小时前
企业防火墙端口映射完整配置与安全收敛实操手册
运维·服务器·网络·安全·网络安全
瘾大侠20 小时前
HTB 赛季10 - Pterodactyl - user
网络·安全·web安全·网络安全
Whoami!20 小时前
⓬⁄₃ ⟦ OSCP ⬖ 研记 ⟧ Linux权限提升 ➱ Linux系统枚举-Ⅲ
网络安全·信息安全·linux枚举
Pure_White_Sword21 小时前
bugku-reverse题目-游戏过关
游戏·网络安全·ctf·reverse·逆向工程
ccino .2 天前
【Drupal文件上传导致跨站脚本执行(CVE-2019-6341)】
运维·网络安全·docker·容器
玄斎2 天前
手把手教你做eNSP动态路由实验
网络·网络协议·学习·网络安全·智能路由器·hcia·ospf
独行soc2 天前
2026年渗透测试面试题总结-23(题目+回答)
网络·python·安全·web安全·渗透测试·安全狮