WEB攻防-通用漏洞-XSS跨站之特殊类型XSS
MXSS
MXSS,也称为变异性的XSS,简单来说,MXSS原本的Payload是无害的,并不会产生XSS,但是由于一些特殊的原因,如反编码等导致Payload发生变异进而导致XSS,遇见的几率很小,老版本的QQ曾经有这个漏洞,但是已经被修复了,所以这种类型的XSS的参考意义也不大,了解即可。
UXSS
UXSS是利用浏览器或者浏览器扩展漏洞来制造产生XSS并执行代码的一种攻击类型,这种类型的漏洞通常不是网站的问题,而是浏览器自身存在这个问题。
相关示例视频可以参考这个:【转载】MICROSOFT EDGE uXSS POC CVE-2021-34506_哔哩哔哩_bilibili
我们的源代码如下所示:
<b><u>行之在线测试 </u></b> |
这种漏洞的触发条件是低版本的edge浏览器,版本号为低于91.0.864.37
,我们可以构造相关网站,放在该浏览器下进行访问
我们访问该网站,发现并没有进行弹窗,我们接着点击翻译,把他翻译成其他语言
我们发现出现了弹窗,证明存在XSS漏洞,而且XSS的产生原因是浏览器的翻译插件没有对跨站代码进行过滤,导致XSS漏洞的产生
FlashXSS
swf是小动画等一些视频类的后缀,swf是可以播放视频的,至于播放哪个视频是会给其传递相关参数的。同时,其可以接受JavaScript代码,通过JS代码来控制加载swf文件进行控制swf的播放。
我们接下来介绍如何进行审计这种漏洞,首先,这种我们一般都可以拿到源代码,因为我们可以进行反编译查看其源代码,所以我们侧重讲如何通过白盒进行发现该漏洞。
首先找到该swf文件,然后进行反编译,反编译工具链接:https://github.com/jindrapetrik/jpexs-decompiler
我们主要看的部分就是里面的脚本代码,我们直接全局搜索ExternalInterface.call
,因为这是swf和js进行通信的关键函数,在swf中,ExternalInterface.call
函数调用JavaScript代码
这里的param2看着不像js代码,所以我们继续查找js代码
我们继续追踪变量jQuery
loaderinfo.parameters
这里其实是在将参数传递给swf。这里我们就可以构造jQuery=alert(1))}catch(e){}//
进行插入xss代码
PDFXSS
PDFXSS就更简单了,我们可以将XSS代码插入在PDF中,然后使用浏览器访问这个PDF就会造成弹窗
我们首先需要用到迅捷PDF编辑器,下载链接:迅捷PDF编辑器 - 多功能的PDF编辑软件 (xunjiepdf.com)
接着我们选择文件属性选项,插入JavaScript属性
至此我们的一个XSSPDF就做好了,接着我们保存用浏览器进行打开
成功触发XSS,当然我们也可以进行思维的发散,比如将其上传至腾讯文档等让人信任的链接,然后发送给别人进行访问,造成别人被xss攻击,当然,腾讯文档会对其进行过滤,如果没有过滤的话,就是腾讯文档有漏洞了。