053-Web攻防-XSS-PDF&SWF&SVG等环境工具

053-Web攻防-XSS-PDF&SWF&SVG等环境工具

知识点:

1、XSS跨站-MXSS&UXSS
2、XSS跨站-SVG制作&配合上传
3、XSS跨站-PDF制作&配合上传
4、XSS跨站-SWF制作&反编译&上传

演示案例:

➢MXSS&UXSS-CVE-2021-34506
➢SVG&PDF&SWF-XSS&上传&反编译

SVG-XSS

  • SVG(Scalable Vector Graphics)是一种基于XML的二维矢量图格式,和我们平常用的jpg/png等图片格式所不同的是SVG图像在放大或改变尺寸的情况下其图形质量不会有所损失,并且我们可以使用任何的文本编辑器打开SVG图片并且编辑它,目前主流的浏览器都已经支持SVG图片的渲染。
  • 创建SVG格式的图片,并在源代码中加入<script>alert(1)</script> xss弹窗代码,当访问打开此文件时候,自动弹出弹窗
  • image-20250521163236004
  • image-20250521163438526
  • image-20250521163502404

SVG如何配合文件上传实现跨站攻击

  • 我们将文件上传到https://up.ly93.cc/ 显示格式不支持上传 点击查看详情 F12查看源代码
  • data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+CiAgPGNpcmNsZSBjeD0iMjUiIGN5PSIyNSIgcj0iMjAiIGZpbGw9InJlZCI+PC9jaXJjbGU+CiAgPHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4KPC9zdmc+Cg== 这里使用了固定格式将图片编码进行了base64编码 因为这里不支持svg格式所以没有直连地址 我们访问这个编码 依旧能弹出
  • image-20250521164046156
  • image-20250521164229227
  • image-20250521164541907

PDF-XSS

  • 首先本地得有一个关于PDF的编辑器 什么都可以 我这里是 福昕PDF编辑器
  • 点击左上角文件 - 创建 - 空白页- 点击缩略图 - 右键点击属性 - 选选择 页面打开 - 选择动作为运行一段JavaScript脚本 -点击添加脚本 app.alert(1) 最后保存到本地为xss.pdf
  • 打开浏览器访问pdf文件 在之前那个网站上传pdf文件
  • 上传成功首会出现直连的url地址 访问就出现了弹窗
  • image-20250521165454147
  • image-20250521165530577
  • image-20250521165616024
  • image-20250521173633119
  • image-20250521173701334
  • 2c5e2fb253ff7a76b0e3dedded86c119

遇到的问题72c79ffcd75c2487602d39549118ae58

  • 在编辑代码的时候发现使用app.alert(xss)不能执行 在表单 JavaScript控制台显示未定义 解决方法:不使用xss 使用1等其他字符
  • 不能直接把本地的文件拖到浏览器打开 得点击文件右键 选择打开方式 选择浏览器才能出现弹窗

FLASH-XSS

制作swf-xss文件:

  1. 新建文件 选择动画 随机缓动的运动 常规选择2.0
  2. F9进入代码区域
//取m参数
var m=_root.m;
//调用html中Javascript中的m参数值
flash.external.ExternalInterface.call(m);
  1. 属性发布设置解析 选择action script 1.0&2.0 输入代码 ctrl+ 回车 图片不报错且正常运行 成功 发布设置 发布脚本要选择 action2.0 点击发布 选择文件保存地址
  2. 将发布在桌面(创建好的携带Xss攻击的swf文件),存放在部署好的网址源码下,并进行访问。使用触发Xss触发语句,成功弹窗弹出Xss攻击弹窗
  • image-20250521181048316
  • image-20250521181105936
  • image-20250521181438459
  • image-20250521181454045
  • image-20250521192725757
  • image-20250521193756898

xss-swf文件安全性

  • xss一是指执行恶意js,那么为什么说flash xss呢?是因为flash有可以调用js的函数,也就是可以和js通信,因此这些函数如果使用不当就会造成xss。常见的可触发xss的危险函数有:getURL,navigateToURL,ExternalInterface.call,htmlText,loadMovie等等 项目:JPEXS Free Flash Decompiler
  • 通过FOFA语句:“phpwind” && icon_hash="-1005349246”可以查找到许多存在Flash反编译安全性的网址
  • 通过目录扫描:https://www.acg-123.org/images/uploader.swf 发现对应的目录位置

39e395a22cb82dd716b3d691a69858c7

1.利用JPEXS Free Flash Decompiler工具,反编译swf文件

image-20250521195311247

2.查找触发危险函数,在AS源码中,使用ctrl+F全局搜索关键词,例如**getURL,navigateToURL,ExternalInterface.call,htmlText,loadMovie**

image-20250521200225224

微信图片_20250521200522

3.将反编译的文件放到本地部署好的网址源码目录下面 根据分析的点使用jsobject,进行xss攻击

image-20250521200932301

MXSS:

参考文章:https://www.fooying.com/the-art-of-xss-1-introduction/

什么是mxss?

mXSS中文是突变型XSS,指的是原先的Payload提交是无害不会产生XSS而由于一些特殊原因,如反编码等,导致Payload发生变异,导致的XSS。下面的漏洞是存在于以前版本的PC的QQ客户端的页面预览功能。

78589536a8370e9cd67fec65d4a8c0a30adb0e24514a5a30245b6f43d8598e22

1b00fd0f722d93d4c94fe5aa3783f8cd

  • 上图是在QQ客户端里分享上面的博客园那篇文章的链接,而QQ存在网址预览功能,于是点击网址可以在右侧显示出优化后的页面的内容,就导致了XSS的产生;这个预览功能实际上是QQ客户端内嵌了一个网页,这个页面对原网页内容进行提取和处理的过程中,将原本无害的XSS Payload进行了转码操作,于是导致了Payload 变异而产生了XSS,我记得这个XSS,我前后一共绕过了三四次,然后提交给了TSRC。
  • 实际上,页面预览这个功能不是针对所有网址都可以预览,对于一些大型的网站,估计是有白名单机制或者是认证的网站,才能进行预览,随便一个网址是不可以的,这本身也是一种信任的限制在里面,如果是随意的网站,那就更好控制内容了,所以对于域名是有限制的;这里也存在一个信任的问题,理论上,这些大站的内容应该是没问题的,但实际情况是可被控制而导致产生XSS。

UXSS:Universal Cross-Site Scripting

  • UXSS是利用浏览器或者浏览器扩展漏洞来制造产生XSS并执行代码的一种攻击类型。
  • MICROSOFT EDGE uXSS CVE-2021-34506
    Edge浏览器翻译功能导致JS语句被调用执行
    https://www.bilibili.com/video/BV1fX4y1c7rX

925005278e787427c829792fdc4e740b

posted @ 2025-09-19 18:16  0xMouise  阅读(7)  评论(0)    收藏  举报