053-WEB攻防-XSS跨站&SVG&PDF&Flash&MXSS&UXSS&配合上传&文件添加脚本

053-WEB攻防-XSS跨站&SVG&PDF&Flash&MXSS&UXSS&配合上传&文件添加脚本

#知识点:

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

演示案例:

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

#MXSS:

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

mXSS

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

    https://www.fooying.com/images/post/the-art-of-xss-1-introduction/1487064388_8_w908_h405.png

  • 这是博客园提交的一篇文章,可以看到,提交的XSS Payload已经被转义了,不产生危害。

    https://www.fooying.com/images/post/the-art-of-xss-1-introduction/1487064477_26_w627_h400.png

    https://www.fooying.com/images/post/the-art-of-xss-1-introduction/1487064499_63_w585_h307.jpeg

  • 上图是在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

    Untitled

#SVG-XSS

  • SVG(Scalable Vector Graphics)是一种基于==XML的二维矢量图格式,==和我们平常用的jpg/png等图片格式所不同的是SVG图像在放大或改变尺寸的情况下其图形质量不会有所损失,并且我们可以使用任何的文本编辑器打开SVG图片并且编辑它,目前主流的浏览器都已经支持SVG图片的渲染。

  • 创建SVG格式的图片,并在源代码中加入**<script>alert(1)</script> xss弹窗代码,当访问打开此文件时候,自动弹出弹窗**

    Untitled

    Untitled

    Untitled

    <svg xmlns="[http://www.w3.org/2000/svg](http://www.w3.org/2000/svg)" version="1.1">
    <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
    **<script>alert(1)</script>**
    </svg>
    
  • 也可以将此文件上传至文件上传页面,生成URL:当点击访问URL,即可弹出Xss攻击弹窗

    Untitled

    Untitled

#PDF-XSS

1、创建PDF,加入动作JS

  1. 打开PDF编辑器,创建新文档

  2. 从视图选项中开启页面缩略图

  3. 点击第一个缩略图,右键选中属性

  4. 在右侧页面属性中依次找到动作→开始动作→点击三个点

  5. 点击新增→运行JavaScript→添加Xss弹窗语句app.alert(1)

  6. 保存,并上传至上传页面,得到URL:[https://fs-im-kefu.7moor-fs1.com/29397395/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1708483094711/test.pdf](https://fs-im-kefu.7moor-fs1.com/29397395/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1708483094711/test.pdf)访问及可弹出Xss攻击弹窗

    Untitled

    Untitled

    Untitled

    Untitled

    Untitled

2、通过文件上传获取直链

Untitled

3、直链地址访问后被触发

Untitled

项目:迅捷PDF编辑器试用版

#FLASH-XSS

制作swf-xss文件:

  1. 新建swf文件,可以使用软件提供的模板

  2. F9进入代码区域,并置入代码

    植入代码:

    //取m参数
    var m=_root.m;
    //调用html中Javascript中的m参数值
    flash.external.ExternalInterface.call(m);
    
  3. 属性发布设置解析,并点击发布到桌面

    1. 点击发布设置,将脚本设置为:ActionScript 2.0(置入代码仅支持2.0,否则会报错)

      Untitled

      Untitled

      Untitled

      Untitled

  4. 将发布在桌面==(创建好的携带Xss攻击的swf文件),存放在部署好的网址源码下,并进行访问。使用触发Xss触发语句,成功弹窗弹出Xss攻击弹窗==

    1. 触发:?m=alert(/xss/) 例如:?m=alert(1)

      Untitled

      Untitled

项目:Adobe Flash Professional CS6

测试swf文件xss安全性:

  • 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 发现对应的目录位置**

Untitled

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

    Untitled

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

    1. this.jsobject = this.loaderInfo.parameters[“jsobject”];,程序并未写死可以读取任意传递回来的jsobject

      1. 如果jsobject被强行写死,则不存在该漏洞

      Untitled

    2. 触发点为:jsobject

      Untitled

    Untitled

  3. 将反编译后的文件(下载在本地的放入部署好的网址源码目录下),**直接使用分析出的触发点,进行输入Xss攻击语句,**找可控参数访问触发

    1. http://192.168.137.1:84/uploader.swf**?jsobject=alert(1)**

    Untitled

    Untitled

  • 31
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值