小迪安全2022-2023|第36天:WEB攻防-通用漏洞&XSS跨站&MXSS&UXSS&FlashXSS_笔记|web安全|渗透测试|

第36天:WEB攻防-通用漏洞&XSS跨站&MXSS&UXSS&FlashXSS_笔记

一、课前回顾00:28

  • XSS分类回顾:上节课介绍了反射型、储存型和DOM型三种XSS攻击类型,本节课将补充讲解MXSS、UXSS、FlashXSS和PDFXSS四种特殊类型。
  • 特殊XSS特点:这四类XSS技术资料较少,主要因为出现频率低(如UXSS几年才爆出一个)且国内研究较少,国外相对关注更多。

二、通用漏洞及XSS跨站攻击01:44

1. 突变型XSS04:19

  • 定义:MXSS(突变型XSS)指原本无害的Payload因特殊原因(如反编码)发生变异导致的XSS攻击。
  • 典型案例:早期QQ客户端预览功能漏洞,当分享含转义XSS代码的博客链接时,QQ的预览功能会反转义导致XSS执行。
  • 产生条件:
    • 网站已过滤XSS标签(如将尖括号转义为 <和>)
    • 通过特定平台(如聊天软件)分享链接时,平台解析机制重新激活被过滤的XSS代码
  • 现状:现代浏览器(如IE11+、Edge)已修复相关漏洞,实际案例难复现。

2. MXSS的成因及常见种类06:26

  • 技术原理:
    • CSS转义:CSS中
      \
      字符转义后可能保留原始功能
    • HTML实体:特殊标签中的实体字符通过
      innerHTMLinnerHTMLinnerHTML
      后会还原
    • 浏览器差异:不同浏览器对实体编码的解析差异可能导致结构破坏
  • 触发场景:
    • 内容需被插入DOM两次以上
    • 使用
      innerHTMLinnerHTMLinnerHTML

      document.writedocument.writedocument.write
      重复输出内容
    • 通过
      insertAdjacentHTMLinsertAdjacentHTMLinsertAdjacentHTML
      等函数操作变异内容

3. UXSS07:23

  • 定义:UXSS(通用型XSS)利用浏览器或扩展漏洞绕过同源策略执行XSS,攻击目标是浏览器而非网站。
  • 典型案例:CVE-2021-34506(Edge浏览器翻译功能漏洞):
    • 访问含XSS代码的页面时触发翻译功能
    • 翻译过程错误执行JS代码
    • 影响版本:特定版本Edge浏览器
  • 攻击特点:即使网站无XSS漏洞,只要浏览器存在缺陷即可触发。

4. FlashXSS08:32

  • 技术原理:通过反编译SWF文件插入恶意代码
  • Payload示例:
    ExternalInterface.call("alert(1)")ExternalInterface.call("alert(1)")ExternalInterface.call("alert(1)")
  • 利用条件:需要上传恶意SWF文件并获取直链访问

5. 应用案例09:14

1)例题:UXSSCVE2021-34506
  • 漏洞复现步骤:
    • 在视频网站搜索含XSS代码的内容
    • 使用浏览器翻译功能
    • 观察JS代码执行情况
  • 防御建议:
    • 及时更新浏览器版本
    • 禁用不必要的浏览器扩展
    • 对用户输入内容进行多重编码过滤
2)PDFXSS
  • 攻击流程:
    • 创建含JS动作的PDF文件
    • 通过文件上传获取直链
    • 用户访问PDF时自动触发XSS
  • 防御措施:
    • 限制PDF文件中的JS执行
    • 对上传PDF进行内容检测

三、XSS漏洞与浏览器安全10:26

1. XSS漏洞演示11:00

  • 基本原理:通过构造恶意HTML标签(如:x:),当浏览器解析错误时会触发JavaScript代码执行
  • 触发条件:
    • 需要浏览器未对特殊字符进行过滤
    • 在Edge浏览器90.0.818.63版本中可复现
    • 图片加载失败时会执行onerror事件中的代码
  • 实际攻击:可将alert(1)替换为任意恶意JS代码,如窃取cookie等操作
  • 特殊触发方式:
    • 原始页面显示代码但不会执行
    • 使用浏览器翻译功能时可能重新解析DOM导致漏洞触发
    • 演示中谷歌翻译后出现弹窗,说明存在UXSS漏洞

2. 浏览器漏洞与XSS17:14

  • UXSS特点:
    • 不同于传统XSS,不依赖网站漏洞
    • 利用浏览器或扩展程序自身的客户端漏洞
    • 影响范围包括所有访问的网站
  • 历史案例:
    • 2016年Chrome浏览器UXSS漏洞
    • 2017年CVE-2017-5174(MHTML相关)
    • 2021年Edge浏览器CVE-2021-34506

3. 例题1:特定浏览器版本的XSS漏洞利用18:05

  • 漏洞复现要点:
    • 必须使用特定版本浏览器(演示中使用90.0.818.63)
    • 禁用浏览器自动更新功能
    • 通过翻译功能触发漏洞更易成功
  • 防御措施:
    • 及时更新浏览器版本
    • 禁用不必要的浏览器功能(如自动翻译)
    • 网站应实施严格的输入过滤和输出编码
  • 攻击链分析:
    • 攻击者构造含恶意代码的搜索关键词
    • 受害者使用漏洞浏览器搜索并查看结果
    • 触发翻译功能时执行恶意代码
    • 可绕过常规XSS防御机制

四、漏洞利用19:18

1. 浏览器漏洞概述19:21

  • 漏洞特性:特定浏览器版本存在解析漏洞,如Microsoft Edge翻译功能漏洞(CVE-2021-34506)
  • 漏洞本质:利用浏览器自身功能(如翻译、插件)而非网站代码缺陷触发XSS
  • 典型案例:演示中通过谷歌、Facebook等大型网站测试成功,但需特定浏览器版本支持

2. 漏洞利用条件20:06

  • 必要条件:
    • 目标使用存在漏洞的浏览器版本(如未更新的Edge浏览器)
    • 禁用浏览器自动更新功能(纯生态版本会自动修复漏洞)
  • 环境限制:演示中使用网上获取的"严格版"浏览器,非官方标准版本

3. 漏洞挖掘方法20:42

  • 核心方法:Fuzz测试(模糊测试)
    • 测试浏览器各项功能(翻译、插件等)对XSS语句的解析异常
    • 重点关注功能前后代码解析差异
  • 奖励机制:微软曾为类似漏洞支付$20,000奖金(约16万人民币)

4. 漏洞利用示例21:39

  • 攻击流程:
    • 构造特殊搜索词:如'> :x:
    • 诱使用户点击搜索结果链接
    • 触发浏览器翻译功能执行恶意代码
  • 特点:
    • 即使目标网站(如百度)已过滤XSS,漏洞浏览器仍会激活语句
    • 利用可信域名(如csdn.net)增强欺骗性

5. uXSS漏洞介绍25:06

  • 全称:Universal Cross-Site Scripting(通用跨站脚本)
  • 与传统XSS区别:
    • 传统XSS:利用网站代码缺陷
    • uXSS:利用浏览器/扩展程序漏洞
  • 漏洞价值:被MITRE列为关键漏洞,CVSS评分高

6. uXSS漏洞利用原理26:01

  • 技术原理:
    • 浏览器翻译功能未正确处理含恶意脚本的外语文本
    • 将本应转义的标记错误解析为可执行代码
  • 攻击特征:
    • 无需网站存在漏洞,任何用户输入展示页面都可能成为攻击媒介
    • 影响范围:91.0.864.59版本前的Microsoft Edge浏览器
  • 防御方案:更新至修补版本(通过设置>关于Microsoft Edge检查更新)

五、UXSS漏洞27:48

1. UXSS定义与特点28:09

  • 全称: Universal Cross-Site Scripting
  • 攻击原理: 利用浏览器或浏览器扩展漏洞制造XSS并执行恶意代码
  • 特殊性: 不同于传统XSS,UXSS攻击不依赖网站本身漏洞,而是利用客户端环境缺陷
  • 典型案例: Microsoft Edge浏览器翻译功能漏洞(CVE-2021-34506)导致JS语句被执行

2. SWF文件格式与用途28:43

  • 本质: Macromedia(现Adobe)公司的Flash专用格式
  • 常见用途:
    • 网页动画展示
    • 小游戏开发
    • 视频播放器实现
  • 交互特性:
    • 支持参数传递
    • 内置ActionScript编程语言
    • 可与JavaScript代码交互
  • 安全风险:
    • 通过ExternalInterface.call执行JS代码
    • 常用于Flash XSS攻击载体

3. SWF与JS结合实现UXSS29:18

  • 双向调用:
    • JS可以加载和操作SWF文件
    • SWF可以通过特定接口调用JS函数
  • 攻击场景:
    • 利用SWF文件中的JS调用接口执行恶意代码
    • 通过参数注入实现XSS攻击
  • 技术术语:
    • Flash XSS:特指通过SWF文件实现的跨站攻击
    • 需要关注ExternalInterface等关键接口

4. 案例分析:CMS中的UXSS29:58

  • 漏洞特征:
    • 与网站开发语言无关(PHP/JAVA等均可受影响)
    • 关键在于是否包含可交互的SWF文件
  • 检测方法:
    • 检查SWF文件是否存在JS调用接口
    • 分析参数传递是否经过严格过滤
  • 攻击流程:
      1. 构造恶意SWF文件或参数
      2. 通过上传或注入方式植入系统
      3. 触发SWF文件中的JS执行逻辑
  • 防御建议:
    • 禁用不必要的SWF文件
    • 严格过滤ExternalInterface调用
    • 保持Flash播放器最新版本

5. UXSS漏洞检测方法31:01

1)Flash XSS检测方法
  • 检测原理: 通过分析SWF文件中是否存在调用JavaScript的代码,特别是能够被外部参数控制的变量调用
  • 白盒检测:
    • 直接搜索源码中的SWF文件
    • 使用反编译工具分析SWF文件内容
    • 查找ExternalInterface.call()等调用JS的关键函数
  • 黑盒检测:
    • 使用目录爬行工具寻找网站中的SWF文件
    • 通过Google搜索语法查找site:example.com filetype:swf
    • 分析网络请求中加载的SWF资源
2)SWF文件分析技术
  • 反编译工具: 使用JPEXS Free Flash Decompiler工具进行反编译
  • 关键代码特征:
    • 查找ExternalInterface.call("functionName", param)形式的调用
    • 检查参数是否来自外部可控变量(如URL参数)
    • 特别注意字符串拼接形式的JS调用
  • 漏洞验证:
3)PDF XSS检测方法
  • PDF制作方法:
    • 使用PDF编辑器创建空白文档
    • 在"属性"→"动作"中添加JavaScript代码
    • 保存为带有JS的PDF文件
  • 利用场景:
    • 文件上传功能允许PDF格式时
    • 网站提供PDF预览功能时
    • 通过钓鱼邮件发送恶意PDF
  • 浏览器兼容性:
    • Chrome/Edge/IE等主流浏览器支持
    • Firefox可能存在兼容性问题
    • 实际效果取决于PDF阅读器实现
4)漏洞利用技巧
  • SWF利用链:
    • 找到可控参数的反编译SWF文件
    • 构造恶意参数触发JS执行
    • 结合BeEF等框架进行深度利用
  • PDF利用链:
    • 上传恶意PDF到可信网站(如腾讯文档、百度网盘)
    • 获取PDF的直接访问链接
    • 诱导用户通过浏览器打开PDF链接
  • 防御绕过:
    • 对SWF文件进行轻微修改避免哈希检测
    • 使用合法的PDF模板嵌入恶意代码
    • 利用网站白名单机制上传恶意文件

六、XSS漏洞分类总结01:12:53

1. 核心分类

  • 三大类型:反射型、存储型、DOM型(老师强调这是业界最全面的分类标准)
  • 内容特点:所有XSS相关教程/书籍基本都围绕这三种类型展开,没有更细化的分类体系

2. 靶场说明

  • 教学选择:未使用DVWA/XSS-labs等基础靶场,因其绕过手法与CTF题目存在差异
  • 替代方案:后续将使用CTFshow平台讲解绕过技术,包含多个XSS实战关卡

七、下节课预告

1. 高级利用手法

  • 三大方向:
    • 网页木马配合利用
    • 钓鱼攻击配合利用
    • 权限维持技术
  • 扩展应用:SSRF等漏洞本质是这三种思路的变体组合

2. 防御与绕过

  • 教学安排:第38课时将结合CTF题目讲解防御绕过技术
  • 平台对比:CTFshow题目比传统靶场更具挑战性,但核心知识点相通

八、补充知识点

1. SWF文件利用

  • 黑盒测试:通过爬虫/目录扫描寻找.swf文件
  • 分析工具:需使用特定反编译工具(未明确工具名称)

2. PDF XSS

  • 利用条件:主要适用于低版本IE浏览器
    攻击步骤:标准的三步执行流程(具体步骤未展开说明)
  • 注:课程中提到的思维导图未在材料中提供具体内容,建议后续补充相关图示。教师特别强调XSS分类体系已完整覆盖所有已知类型,不建议额外寻找其他分类标准。

九、知识小结

知识点 核心内容 技术要点 应用场景
M-XSS(突变型XSS) 网站已过滤但被第三方平台重新激活 依赖QQ等社交平台的预览功能恢复过滤字符 低概率攻击,需特定客户端环境
U-XSS(通用型XSS) 利用浏览器自身漏洞触发 CVE-2021-34506漏洞案例(Edge翻译功能触发) 浏览器漏洞挖掘,跨站点通用攻击
Flash XSS SWF文件反编译漏洞利用 ExternalInterface.call()函数调用JS 网页游戏/视频站点,黑盒测试需爬取SWF文件
PDF XSS 内嵌JS的PDF文件攻击 Acrobat JavaScript执行 钓鱼攻击,文件上传漏洞结合
防御手段 IE低版本淘汰使部分攻击失效 现代浏览器安全机制升级 重点防护Flash/PDF解析器
测试工具 JPEXS Free Flash Decompiler反编译工具 PDF编辑器嵌入JS代码 SWF反编译+PDF PoC制作
漏洞挖掘 浏览器功能Fuzz测试(如翻译功能) 文件格式解析漏洞挖掘 新型客户端漏洞研究
相关推荐
2501_944525543 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
打小就很皮...3 小时前
《在 React/Vue 项目中引入 Supademo 实现交互式新手指引》
前端·supademo·新手指引
C澒3 小时前
系统初始化成功率下降排查实践
前端·安全·运维开发
只是懒得想了3 小时前
C++实现密码破解工具:从MD5暴力破解到现代哈希安全实践
c++·算法·安全·哈希算法
云边云科技_云网融合3 小时前
AIoT智能物联网平台:架构解析与边缘应用新图景
大数据·网络·人工智能·安全
C澒3 小时前
面单打印服务的监控检查事项
前端·后端·安全·运维开发·交通物流
pas1363 小时前
39-mini-vue 实现解析 text 功能
前端·javascript·vue.js
运维有小邓@3 小时前
生物制药企业 AD 域管理破局:合规 · 效率 · 安全三维解决方案
人工智能·安全
qq_532453533 小时前
使用 GaussianSplats3D 在 Vue 3 中构建交互式 3D 高斯点云查看器
前端·vue.js·3d
大力财经4 小时前
喜茶2025年批量重装130多家门店
安全