news 2026/4/29 23:46:47

XSS 跨站脚本攻击解析-漏洞解析3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
XSS 跨站脚本攻击解析-漏洞解析3

一、前言

跨站脚本攻击(XSS,Cross-Site Scripting)是OWASP TOP10 高频高危漏洞,属于典型的代码注入类攻击

核心成因是Web 应用未对用户输入做严格校验、转义与过滤,导致恶意脚本被嵌入页面并在受害者浏览器中执行。

攻击者可利用 XSS 窃取用户隐私、劫持会话、篡改页面、钓鱼诱导、横向渗透,几乎所有 Web 业务系统都存在暴露风险。

本文系统性拆解反射型、存储型、DOM 型三类 XSS 核心区别、攻击场景、实战危害,同时给出前端 + 后端双向落地防御方案,用作大家的包括自己的面试复习。

二、XSS 核心基础原理

  • 攻击者构造恶意 JS、HTML 标签、事件触发载荷;
  • 目标网站接收未净化的用户输入,直接拼接渲染到前端页面;
  • 浏览器默认信任当前域名资源,自动解析并执行恶意脚本;
  • 恶意代码获取页面权限,窃取 Cookie、本地存储、页面数据或执行越权操作。

三、三大 XSS 攻击类型详解

1. 反射型 XSS(非持久型 / 一次性 XSS)

概述

恶意载荷拼接在 URL 参数中,用户点击恶意链接后,服务端即时接收参数、直接反射返回页面,脚本单次执行,不落地存储

典型攻击场景

搜索框回显、错误提示页、URL 参数展示、临时信息弹窗。

简易攻击 Payload

http://test.com/search?key=<script>alert(document.cookie)</script>

核心特点

  • 无持久化,仅单次请求生效;
  • 依赖社工诱导点击恶意链接;
  • 漏洞隐蔽性弱,漏洞发现难度低;
  • 危害范围仅限被诱导点击的单独用户。

2. 存储型 XSS(持久型 / 二次渲染 XSS)

核心原理

恶意脚本提交至服务端,写入数据库、评论区、公告、个人简介等持久化存储位置,永久保存。任意用户访问对应页面时,自动加载并执行恶意代码。

典型攻击场景

论坛评论、留言板、用户资料编辑、商品评价、后台公告发布。

简易攻击 Payload

<img src=x οnerrοr="stealCookie()">

核心特点

  • 持久化存储,长期有效;
  • 无需社工,访问即触发;
  • 危害范围广,批量影响所有访问用户;
  • 危害等级最高,常作为内网渗透、批量盗号入口。

3. DOM 型 XSS(客户端自主渲染 XSS)

核心原理

不经过服务端处理与存储,完全由前端 JS 操作 DOM 节点,直接解析用户可控参数并动态渲染,恶意代码在前端本地触发。

典型攻击场景

前端 URL 哈希解析、路由跳转、本地拼接 DOM、前端无渲染过滤。

简易攻击 Payload

http://test.com/#<script>alert('DOM XSS')</script>

四、XSS 通用实战危害

  • 隐私数据窃取:读取用户 Cookie、Session、LocalStorage、表单敏感数据,上传至攻击者服务器,实现账号劫持。
  • 会话劫持与账号接管:利用窃取的会话凭证,免密登录受害者账号,操作个人数据、发起越权请求。
  • 页面篡改与钓鱼欺诈:修改页面文案、弹窗、跳转链接,伪装官方页面诱导输入账号密码、手机号、验证码。
  • 浏览器持久化控制:植入恶意爬虫、挖矿脚本、后台驻留代码,长期监控用户浏览行为。
  • 内网横向拓展:结合浏览器跨域漏洞、内网服务探测,对内网资产进行扫描与渗透。

五、前端防御方案

  • 禁用危险原生事件:严格限制onerror、onload、onclick等事件标签,过滤非常规属性。
  • 使用安全 DOM 操作 API:禁止使用innerHTML、document.write危险方法,优先使用textContent、setAttribute安全接口。
  • 前端输入内容转义:对用户输入的特殊字符< > & " '做全局转义,禁止直接拼接 HTML 片段。
  • 配置浏览器安全策略:部署CSP 内容安全策略,限制脚本加载域名、禁止内联脚本、禁止 eval 动态执行代码。
  • Cookie 安全加固:添加HttpOnly、Secure、SameSite属性,禁止 JS 直接读取 Cookie,阻断会话劫持核心链路。

六、后端防御方案(Java 开发)

emmm,因为我是java开发

  1. 统一输入过滤校验全局拦截特殊字符,过滤<script>、iframe、javascript:等恶意标签与协议头。
  2. 输出全局 HTML 编码页面渲染、接口返回数据前,统一对特殊符号进行 HTML 实体转义,破坏脚本执行结构。

    Java 核心工具类转义示例:// 特殊字符转义,防御XSS String safeText =
    HtmlUtils.htmlEscape(userInput);
  3. 入库前置净化评论、简介、留言等富文本内容,入库前完成过滤编码,避免存储型 XSS 持久化风险。
  4. 接口参数白名单校验采用白名单机制校验参数格式,严格限制输入长度、字符类型,拒绝非法特殊字符。
  5. WAF 规则防护部署硬件 / 应用层 WAF,拦截包含 XSS 特征的请求载荷,作为边界兜底防护。

七、企业级综合加固策略

  1. 前后端双向联动,输入过滤 + 输出编码 + 存储净化三层防护;
  2. 区分富文本场景:编辑器内容采用白名单标签机制,仅保留安全标签;
  3. 定期开展代码审计,重点排查参数回显、DOM 拼接、内容发布类功能;
  4. 渗透测试常态化,覆盖反射型、存储型、DOM 型全场景漏洞检测;
  5. 安全开发规范落地,禁止开发人员直接拼接用户输入至 HTML 页面。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 23:40:24

Pixelle-Video完整指南:如何用AI全自动生成专业短视频

Pixelle-Video完整指南&#xff1a;如何用AI全自动生成专业短视频 【免费下载链接】Pixelle-Video &#x1f680; AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video Pixelle-Video是一款革…

作者头像 李华
网站建设 2026/4/29 23:37:23

渗透测试入门

渗透测试入门&#xff1a;揭开网络安全的神秘面纱 在数字化时代&#xff0c;网络安全问题日益突出&#xff0c;黑客攻击和数据泄露事件频发。渗透测试作为网络安全的核心技术之一&#xff0c;通过模拟攻击来发现系统漏洞&#xff0c;成为企业防护的重要工具。如果你对网络安全…

作者头像 李华
网站建设 2026/4/29 23:36:22

电赛备赛笔记:用GD32F470的DMA驱动PWM,我踩过的那些坑(梁山派实战)

电赛实战&#xff1a;GD32F470 DMA驱动PWM的七个关键陷阱与破解之道 第一次在梁山派开发板上尝试用DMA输出PWM信号时&#xff0c;我的万用表指针像抽风一样乱跳——这场景发生在去年电赛前夜的实验室里。作为市面上资料稀缺的国产MCU&#xff0c;GD32F470的DMA控制器与定时器联…

作者头像 李华
网站建设 2026/4/29 23:31:25

3步实现Windows系统性能翻倍:Winhance中文版终极优化指南

3步实现Windows系统性能翻倍&#xff1a;Winhance中文版终极优化指南 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance…

作者头像 李华
网站建设 2026/4/29 23:24:22

HoRain云--超全SciPy安装指南,3种方法一键搞定

&#x1f3ac; HoRain 云小助手&#xff1a;个人主页 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

作者头像 李华
网站建设 2026/4/29 23:23:25

速腾M1雷达网络配置与RSView软件使用详解:解决X86平台依赖错误

速腾M1激光雷达全流程调试指南&#xff1a;从网络配置到跨平台兼容性实战 激光雷达作为自动驾驶和机器人感知的核心传感器&#xff0c;其调试过程往往充满技术细节与平台兼容性挑战。速腾聚创M1作为工业级固态激光雷达&#xff0c;在测绘、AGV和无人驾驶领域应用广泛&#xff0…

作者头像 李华