小迪安全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测试(如翻译功能) 文件格式解析漏洞挖掘 新型客户端漏洞研究
相关推荐
这是个栗子2 分钟前
TypeScript(三)
前端·javascript·typescript·react
kvo7f2JTy7 分钟前
基于机器学习算法的web入侵检测系统设计与实现
前端·算法·机器学习
北风toto9 分钟前
前端CSS样式详细笔记
前端·css·笔记
菱玖16 分钟前
SRC常见漏洞情况分类
运维·安全·安全威胁分析
nanfeiyan19 分钟前
git commit
前端
桃地睡不着1 小时前
ai安全工具:CyberStrikeAI安装部署与使用
人工智能·安全·渗透测试
前端精髓3 小时前
移除 Effect 依赖
前端·javascript·react.js
码云之上3 小时前
从一个截图函数到一个 npm 包——pdf-snapshot 的诞生记
前端·node.js·github
不灭锦鲤3 小时前
网络安全学习(面试)
学习·安全·web安全
码事漫谈3 小时前
AI提效,到底能强到什么程度?
前端·后端