DVWA靶场File Inclusion (文件包含) 漏洞所有级别通关教程及源码解析
1.DVWA靶场搭建及错误解决教程2.DVWA靶场Brute Force (暴力破解) 漏洞low(低),medium(中等),high(高),impossible(不可能的)所有级别通关教程及代码审计3.DVWA靶场Command Injection(命令注入) 漏洞所有级别通关教程及源码审计
4.DVWA靶场File Inclusion (文件包含) 漏洞所有级别通关教程及源码解析
5.DVWA靶场File Upload(文件上传) 漏洞所有级别通关教程及源码审计6.DVWA靶场Weak Session IDs(弱会话) 漏洞所有级别通关教程及源码审计7.DVWA靶场Insecure CAPTCHA(不安全验证)漏洞所有级别通关教程及源码审计8.DVWA靶场Open HTTP Redirect (重定向) 漏洞所有级别通关教程及源码审计9.DVWA靶场JavaScript Attacks漏洞low(低),medium(中等),high(高),impossible(不可能的)所有级别通关教程10.DVWA靶场CSP Bypass (漏洞绕过) 漏洞通关及源码审计11.DVWA靶场Authorisation Bypass (未授权绕过) 漏洞通关教程及源码审计12.DVWA靶场XSS漏洞通关教程及源码审计文件包含
文件包含漏洞(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页面,其他页面全部过滤
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)