DVWA靶场——File Inclusion(文件包含)笔记
File Inclusion文件包含是指当服务器开启了allow_url_include选项时通过一些PHP的特性函数比如include()require()include_once()和require_once()利用URL去动态包含文件此时如果没有对文件来源进行严格审查就会导致任意文件读取或者任意命令执行。这里我们先明确两个概念文件包含分类本地文件包含当被包含的文件在本地服务器时就叫做本地文件包含例../../../../../etc/passwd远程文件包含当被包含的文件在第三方服务器时就叫做远程文件包含例http://www.baidu.com 可以直接打开百度特性函数区别include() 当使用该函数包含文件时只有代码执行到include()函数时才将文件包含进来发生错误时只给出一个警告继续向下执行 include_once() 功能和include()相同区别在于当重复调用同一文件时程序只调用一次 require() require()与include()的区别在于require()执行如果发生错误函数会输出错误信息并终止脚本的运行 。使用require()函数包含文件时只要程序一执行立即调用文件而include()只有程序执行到函数时才调用 .require()在php程序执行前执行会先读入 require 所指定引入的文件使它变成 PHP 程序网页的一部份。 require_once() 它的功能与require()相同区别在于当重复调用同一文件时程序只调用一次low我们首先打开第一个文件发现文件名显示在URL中这就表明文件名是可控的。因此我们推测可以直接在URL中修改相关参数使用相对路径读取系统文件我是在windows系统下搭建的靶场环境如果读者在Linux环境下应该类似于../../../../etc/passwd这种成功读取返回了Windows的hosts文件内容包含文件的版权和说明信息127.0.0.1 localhost映射::1 localhostIPv6映射结论 确认可以从系统目录读取任意文件。源码分析?php // The page we wish to display //直接获取page参数未做任何过滤 $file $_GET[ page ]; ?这里可以看到注释作者已经告诉我们没做任何过滤Medium我们还是试试读取系统文件可以看到已经找不到这个文件了说明后端一定过滤了某些字段是我们的拼接失效了这里确实猜不到具体过滤了什么所以先看看源码?php // The page we wish to display $file $_GET[ page ]; // Input validation //将参数中的http:// https:// ../ ..\都替换成空 $file str_replace( array( http://, https:// ), , $file ); $file str_replace( array( ../, ..\ ), , $file ); ?将“http://”“https://”“../”“..\”全部替换成了空知道了其原理我们就可以尝试着拼接绕过。1.使用..././组合过滤前..././过滤后../2.双写绕过过滤前....//过滤后../3.URL编码绕过字符URL编码双重URL编码/%2F%252F\%5C%255C.%2E%252E我们就试试最简单的双写绕过没问题High这个级别的难度应该更大我们也先看看源代码?php // The page we wish to display $file $_GET[ page ]; // Input validation //文件名必须以file开始或只能为include.php if( !fnmatch( file*, $file ) $file ! include.php ) { // This isnt the page we want! echo ERROR: File not found!; exit; } ?这里是直接做了白名单限制匹配file*,以file开头的文件,或者匹配include.php如果不是以file开头的文件,或者不是include.php,就输出ERROR: File not found!。我们先不使用file伪协议直接使用绝对路径做拼接试试确实给我们跳转了not found那我们再试试使用file伪协议进行绕过跳转的内容和我们上面的一模一样大家可以看看大佬写的这篇文章提到了很多伪协议文件包含漏洞详解-CSDN博客Impossible?php // The page we wish to display $file $_GET[ page ]; // Only alLow include.php or file{1..3}.php //file变量只能为include.php、file1、file2、file3其中一个 if( $file ! include.php $file ! file1.php $file ! file2.php $file ! file3.php ) { // This isnt the page we want! echo ERROR: File not found!; exit; } ?Impossible难度的代码使用了白名单机制进行防护简单粗暴page参数必须为“include.php”、“file1.php”、“file2.php”、“file3.php”之一彻底杜绝了文件包含漏洞。

相关新闻

SLO2016与PIC18F46K20的工业通信系统设计与优化

SLO2016与PIC18F46K20的工业通信系统设计与优化

1. SLO2016与PIC18F46K20的硬件协同架构解析在工业通信设备升级项目中,我最近完成了一个基于SLO2016信号调理芯片与PIC18F46K20微控制器的传输系统改造。这个组合特别适合需要高可靠性数据传递的现场环境,比如工厂车间的设备状态监控网络。PIC18F46K20作…

2026/7/6 6:39:35阅读更多 →
SLO2016与dsPIC30F4011硬件协同设计与信号处理优化

SLO2016与dsPIC30F4011硬件协同设计与信号处理优化

1. SLO2016与dsPIC30F4011的硬件协同架构解析SLO2016作为一款专业级数字信号处理器,与Microchip的dsPIC30F4011单片机组合使用时,能够构建出高性能的信息处理系统。这套组合的核心优势在于SLO2016的16位定点DSP架构与dsPIC30F4011的混合信号处理能力形成…

2026/7/6 6:39:35阅读更多 →
STC3115电池监测芯片与PIC18F4585的电池管理方案

STC3115电池监测芯片与PIC18F4585的电池管理方案

1. STC3115电池监测芯片的核心特性解析STC3115是一款专门用于电池监测的高精度集成电路,在单节锂电池管理领域具有显著优势。这款芯片采用霍尔效应原理进行电流检测,相比传统分流电阻方案具有更低的功耗和更高的测量精度。电压监测能力方面,S…

2026/7/6 6:39:35阅读更多 →
WSEN-ISDS传感器与PIC18F96J94微控制器的硬件架构与运动融合算法

WSEN-ISDS传感器与PIC18F96J94微控制器的硬件架构与运动融合算法

1. WSEN-ISDS传感器与PIC18F96J94微控制器的硬件架构解析WSEN-ISDS(型号2536030320001)是一款六轴MEMS惯性测量单元(IMU),采用电容式传感原理,集成了三轴加速度计和三轴陀螺仪。其核心参数包括:加速度计量程&#xff1…

2026/7/6 7:54:41阅读更多 →
BetterGI:让你的原神游戏体验全面升级的智能辅助工具

BetterGI:让你的原神游戏体验全面升级的智能辅助工具

BetterGI:让你的原神游戏体验全面升级的智能辅助工具 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自…

2026/7/6 7:54:41阅读更多 →
13DOF传感器与PIC18F56K42在机器人定位导航中的优化应用

13DOF传感器与PIC18F56K42在机器人定位导航中的优化应用

1. 项目背景与核心价值在移动机器人、无人机和各类智能穿戴设备快速发展的今天,精准的定位与导航能力已成为核心刚需。传统方案往往面临两大痛点:要么采用高精度但昂贵的专业级惯性测量单元(IMU),要么选择低成本但精度不足的消费级传感器。而…

2026/7/6 7:54:41阅读更多 →
IIM-42652运动传感器与PIC18微控制器的工业应用解析

IIM-42652运动传感器与PIC18微控制器的工业应用解析

1. IIM-42652运动传感器的核心特性解析IIM-42652是TDK InvenSense推出的一款6轴智能工业级运动追踪设备,专为工业应用场景设计。这款MEMS器件在仅2.530.91mm的微型封装内集成了3轴陀螺仪和3轴加速度计,采用14引脚LGA封装,具有出色的抗冲击能力…

2026/7/6 7:54:40阅读更多 →
BetterGI:原神PC端智能自动化辅助工具终极指南

BetterGI:原神PC端智能自动化辅助工具终极指南

BetterGI:原神PC端智能自动化辅助工具终极指南 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 | 自动烹饪…

2026/7/6 7:54:40阅读更多 →
工业传感器控制系统核心组件与设计实践

工业传感器控制系统核心组件与设计实践

1. 工业级传感器控制系统的核心组件解析在工业自动化和嵌入式系统开发领域,构建一个稳定可靠的传感器/执行器控制系统需要精心选择每个关键组件。AD74115H、ADP1034和TM4C129XKCZAD这三款芯片的组合,恰好覆盖了信号采集、电源管理和主控计算这三个核心环…

2026/7/6 7:49:40阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/6 4:26:20阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/6 2:48:33阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/6 0:10:35阅读更多 →
Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南

Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南

Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 技术架构先行:官方接口的合规应用 你是否曾在BP阶段手忙脚乱&#x…

2026/7/6 0:03:39阅读更多 →
多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理

多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理

多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理 【免费下载链接】mRemoteNG mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager. 项目地址: https://gitcode.com/gh_m…

2026/7/6 0:03:39阅读更多 →
COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南

COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南

COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南在数据分析和处理领域,去重统计是最基础也是最频繁使用的操作之一。当数据量达到亿级规模时,不同的去重统计方法在性能上可能产生天壤之别。本文将基于 5 亿行数据的实…

2026/7/6 0:03:39阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/6 4:45:01阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/6 4:45:01阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/6 4:45:03阅读更多 →