DVWA靶场实战:反射型XSS漏洞从原理到防御(Low级别完整复现)
摘要本文基于 DVWA 靶场 Low 安全等级完整复现反射型 XSS 漏洞的利用过程。实验环境采用小皮面板搭建 Apache 2.4.39 与 MySQL 5.7.26靶场安全等级设为 Low无任何输入过滤。漏洞成因在于服务端直接获取用户输入并输出至 HTML 页面未做过滤与转义导致恶意脚本随 URL 参数反射执行。通过输入scriptalert(dvwa)/script成功触发弹窗验证漏洞存在。文章同时对比反射型、存储型与 DOM 型 XSS 的差异并给出输出编码、输入过滤、CSP 策略、HttpOnly 等四类防御方案帮助读者从原理到防御系统掌握反射型 XSS。免责声明本次所有实验均在本地自建的 DVWA 脆弱靶场中完成仅用于 Web 安全原理学习。网络攻击属于违法行为请勿对未授权的网站进行任何渗透测试。一、实验环境• 环境工具小皮面板• 服务版本Apache 2.4.39 MySQL 5.7.26• 靶场DVWADamn Vulnerable Web Application• 安全等级Low无过滤新手入门首选小皮面板服务启动状态Apache与MySQL正常运行DVWA 是一款开源的、存在多种已知漏洞的 Web 靶场集成 SQL 注入、XSS、文件上传、命令注入等常见 Web 漏洞适合信息安全入门学习、CTF 基础练习。二、登录靶场 配置安全等级DVWA 默认登录账号admin默认密码password登录成功后进入DVWA主页左侧是所有漏洞模块菜单找到左侧 DVWA Security 选项在安全等级下拉框中选择 Low 并点击 Submit 提交Low 级别不会对用户输入做任何过滤方便我们直接测试基础反射 XSS三、反射型XSS原理介绍反射型 XSSReflected XSS也叫非持久型 XSS。核心特点恶意 JS 代码不会保存到数据库而是携带在 URL 参数中访问页面时直接反射执行一次性触发。与存储型 XSS 的区别存储型会把恶意代码写入数据库所有访问页面的用户都会触发。下面是反射型、存储型与 DOM 型三种 XSS 的对比对比维度反射型 XSS存储型 XSSDOM 型 XSS恶意代码存储位置不存储代码在 URL 参数中存储在服务器数据库不存储代码在页面 DOM 中触发方式用户点击携带恶意参数的链接访问被注入恶意代码的页面浏览器解析 DOM 时触发攻击持续性一次性不持久持久化长期有效一次性不持久典型攻击场景钓鱼链接、邮件诱导点击留言板、评论区、用户资料前端 JS 动态渲染页面检测难度较低较高较高三者核心区别反射型 XSS 恶意代码不落库随 URL 参数一次性反射执行存储型 XSS 将恶意代码写入数据库所有访问页面的用户都会触发危害范围最广DOM 型 XSS 不经过服务端恶意代码在浏览器解析 DOM 时执行隐蔽性最强。三者本质都是前端执行了不可信脚本但存储位置与触发链路不同防护侧重点也各有差异。四、漏洞复现步骤在左侧菜单栏选择 XSS (Reflected) 进入反射型 XSS 关卡页面输入框是可控点输入基础 XSS payload点击 Submit 提交成功触发 JS 弹窗漏洞复现成功五、源码简单分析Low级别?php $name $_GET[name]; echo Hello {$name}; ?直接GET获取name参数没有过滤、没有HTML转义用户输入的六、漏洞危害构造恶意链接诱导他人点击窃取用户Cookie伪造页面、制作钓鱼页面欺骗用户结合JS实现会话劫持、页面篡改七、安全修复方案输出编码对用户输出内容做HTML实体转义转义 输入过滤黑名单过滤script、onclick等危险标签与事件部署CSP内容安全策略限制非信任脚本执行重要Cookie设置HttpOnly防止JS读取Cookie八、实验总结本次Low难度反射XSS实验完整走完了从环境启动、靶场配置、漏洞测试到原理分析的流程。漏洞根本成因服务端信任用户输入没有做任何过滤和转义直接将可控内容输出至前端HTML中。后续可以继续练习Medium、High难度学习标签过滤、事件绕过等进阶思路同时区分反射型、存储型、DOM型三种XSS的差异。

相关新闻

企业微信外部群机器人如何接收群消息并交给自己的程序处理

企业微信外部群机器人如何接收群消息并交给自己的程序处理

要将企业微信外部群的消息安全、稳定地“移交”给自己的程序处理,核心是搭建一个异步交接机制,坚决不能让接收数据的接口直接去处理业务。 具体的纯逻辑交接流程如下: 第一步:配置统一“收发室”(Webhook 接收&#xf…

2026/10/14 4:22:50 阅读更多 →
SQL Developer 4.0.3 x64连接Oracle老库兼容性实战与避坑

SQL Developer 4.0.3 x64连接Oracle老库兼容性实战与避坑

简介:Oracle SQL Developer 4.0.3.16.84-x64 是Oracle官方出品的免费数据库管理工具,主要面向开发人员和数据库管理员,用于完成日常查询、开发调试、数据建模、跨库迁移与性能调优等工作。该版本适配64位操作系统,开箱即用&#x…

2026/10/14 4:22:50 阅读更多 →
OSPF结课实验

OSPF结课实验

实验要求1,R5为ISP,其上只能配置IP地址 ;R4作为企业边界路由器, 出口公网地址需要通过PPP协议 获取,并进行chap认证 2,整个OSPF环境IP基于172.16.0.0/16划分; 3,所有设备均可访问R5的…

2026/10/14 4:22:50 阅读更多 →

最新新闻

EPLAN电气项目图纸高效读图与安全复用指南

EPLAN电气项目图纸高效读图与安全复用指南

做电气设计这些年,我经手过不少EPLAN项目文件,有自己从头画的,也有从同行手里拿到后二次改造的。一个很直观的体会是:同样是"分享图纸",文件与文件之间的价值差距可以非常大。有的图纸打开就能当标准模板用&…

2026/10/14 5:12:02 阅读更多 →
多相流数值模拟实战:从水管到沙滩的建模选型与参数调试

多相流数值模拟实战:从水管到沙滩的建模选型与参数调试

做了十几年流体仿真,我越来越觉得多相流数值模拟是最能体现“流体魔法”的领域。一个水龙头看似平稳的水柱,背后是气液两相在高剪切下的剧烈纠缠;一片安安静静的沙滩,底下每分每秒都有颗粒在随波迁徙。你盯着云图上的气泡上升和沙…

2026/10/14 5:12:02 阅读更多 →
P2G与碳捕集耦合的热电联供综合能源系统双目标优化复现

P2G与碳捕集耦合的热电联供综合能源系统双目标优化复现

1. 复现项目的本质:搞懂这篇工作到底在优化什么做综合能源系统方向的人,对“考虑P2G和碳捕集设备的热电联供综合能源系统运行优化”这个题目应该不陌生。这是一篇发表在Energy上的SCI一区论文的复现任务,原文章本身的工作量集中在两个点上&am…

2026/10/14 5:12:02 阅读更多 →
深度神经网络训练核心逻辑:从原理到实战的完整指南

深度神经网络训练核心逻辑:从原理到实战的完整指南

1. 从“能跑通”到“真明白”:深度神经网络训练的核心逻辑拆解很多人学深度学习都有个类似的经历:跟着教程把模型搭起来,数据喂进去,损失曲线也能往下走,但一旦换个数据集、改个任务,就完全不知道从哪儿下手…

2026/10/14 5:12:02 阅读更多 →
CF1420D 区间计数与扫描线:组合数学在算法竞赛中的实战应用

CF1420D 区间计数与扫描线:组合数学在算法竞赛中的实战应用

CF1420D Rescue Nibel! 是我最近复盘次数最多的一道区间计数题。名字带点魔幻气息,但模型的本质非常朴素:给你一堆区间,让你从中选恰好 k 个,使得它们有公共交点。乍一看以为是区间贪心,实际却是组合数学和扫描线的混合…

2026/10/14 5:12:02 阅读更多 →
Cocos Creator 水波纹效果:Shader 扰动与交互涟漪实现

Cocos Creator 水波纹效果:Shader 扰动与交互涟漪实现

简介:这份资源是面向Cocos Creator开发者的一套水波纹特效项目源码,适合具备一定Shader与脚本基础、希望在游戏中实现动态水面、魔法或雨滴等视觉效果的开发者参考。压缩包共3个文件,以inscode工程配置、html页面与gitignore为主,…

2026/10/14 5:11:01 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →