免责声明
本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。
文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。
1、XSS跨站-MXSS&UXSS
2、XSS跨站-SVG制作&配合上传
3、XSS跨站-PDF制作&配合上传
4、XSS跨站-SWF制作&反编译&上传
1.MXSS&UXSS-CVE-2021-34506(比较冷门)
https://www.fooying.com/the-art-of-xss-1-introduction/ //XSS分类
MXSS(现在基本见不到了):
MXSS 资料很少 (博客园上发一个XSS,但是给博客园给过滤,但是利用低版本的QQ去访问这个地址链接就会触发这个XSS)
UXSS:Universal Cross-Site Scripting(针对浏览器的漏洞)几乎见不到
UXSS是利用浏览器或者浏览器扩展漏洞来制造产生XSS并执行代码的一种攻击类型。
MICROSOFT EDGE uXSS CVE-2021-34506(有浏览器版本限制)
Edge浏览器翻译功能导致JS语句被调用执行(网站提前插入XSS代码,本身无害化,但是经过该浏览器翻译功能一翻译,就会触发这个XSS代码)
【转载】MICROSOFT EDGE uXSS POC CVE-2021-34506_哔哩哔哩_bilibili
2.HTML&SVG&PDF&SWF-XSS&上传&反编译(有几率碰到)
HTML
HTML(HyperText Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
<script>alert(123)</script>
SVG-XSS(可以理解为和jpg、png类似的后缀图片格式,打开之后还是一个图片)
SVG(Scalable Vector Graphics)是一种基于XML的二维矢量图格式,和我们平常用的jpg/png等图片格式所不同的是SVG图像在放大或改变尺寸的情况下其图形质量不会有所损失,并且我们可以使用任何的文本编辑器打开SVG图片并且编辑它,目前主流的浏览器都已经支持SVG图片的渲染。
poc:
<svg xmlns="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>
通过文件上传功能上传一个SVG文件(该文件已经提前植入XSS代码),然后在访问这个上传后的svg地址即可触发上图效果
PDF-XSS
PDF编辑器生成XSS
1、创建PDF,加入动作JS
2、通过文件上传获取直链
3、直链地址访问后被触发
项目制作工具:迅捷PDF编辑器试用版(最好网上找破解版,然后导入其他正常的pdf,在正常的pdf插入js动作)
python生成XSS
首先我们需要安装Python中相应的模块,执行下面命令进行安装。
pip install PyPDF2
利用python创建一个含有XSS的PDF文件。
from PyPDF2 import PdfReader, PdfWriter
# 创建一个新的 PDF 文档
output_pdf = PdfWriter()
# 添加一个新页面
page = output_pdf.add_blank_page(width=72, height=72)
# 添加js代码
output_pdf.add_js("app.alert('123');")
# 将新页面写入到新 PDF 文档中
with open("xss.pdf", "wb") as f:
output_pdf.write(f)
使用python3运行这个python文件即可在当前目录下生成一个XSS.pdf文件,用浏览器打开这个pdf即可触发js代码
和正常PDF绑定
from PyPDF2 import PdfReader, PdfWriter
# 打开原始 22.PDF 文件
input_pdf = PdfReader("22.pdf")
# 创建一个新的 PDF 文档
output_pdf = PdfWriter()
# 将现有的 PDF 页面复制到新文档
for i in range(len(input_pdf.pages)):
output_pdf.add_page(input_pdf.pages[i])
# 添加 javaScript 代码
output_pdf.add_js("app.alert('123');")
# 将新 PDF 文档写入到文件中
with open("xssplus.pdf", "wb") as f:
output_pdf.write(f)
提前准备好一个22.pdf文件,与当前py脚本放在同一个目录下,运行该py脚本即可在当前目录下生成一个xssplus.pdf
FLASH-XSS
-制作swf-xss文件:
1、新建swf文件(SWF文件是Flash动画文件格式)
2、F9进入代码区域
3、属性发布设置解析(root指当前swf文件)
//取m参数
var m=_root.m;
//调用html中Javascript中的m参数值
flash.external.ExternalInterface.call(m);
触发:?m=alert(/xss/)
项目制作工具:Adobe Flash Professional CS6
实战中如何利用:
1.通过文件上传自己制作的swf文件然后去访问执行
2.对本身的swf文件反编译逆向,分析触发点,文件上传触发JS
通过文件上传这个SWF文件后访问进行JS触发
逆向项目:JPEXS Free Flash Decompiler
-测试swf文件xss安全性:
1、反编译swf文件
2、查找触发危险函数
3、找可控参数访问触发
xss一是指执行恶意js,那么为什么说flash xss呢?是因为flash有可以调用js的函数,也就是可以和js通信,因此这些函数如果使用不当就会造成xss。常见的可触发xss的危险函数有:getURL,navigateToURL,ExternalInterface.call(最多),htmlText,loadMovie等等