首页 > 其他分享 >UEditor-结合XML文件上传导致的存储型XSS

UEditor-结合XML文件上传导致的存储型XSS

时间:2024-03-21 18:16:16浏览次数:19  
标签:XML UEditor XSS xml 文档 test 上传

1、在某学校的考试系统的 事故案例 -> 添加新文章
屏幕截图 2024-01-02 122052.jpg
2、由于该编辑器为UEditor,并根据版本信息可联系到历史爆出过漏洞,在.NET开发的版本可通过木马文件上传进行getshell;但又由于此处为php语言开发,只能上传xml文件,于是思路转变成xml文件上传+XSS组合拳的方式进行测试。
屏幕截图 2024-01-02 145627.jpg
3、先构造一个 test.jpg 作为附件上传,文章标题为test1,并保存
屏幕截图 2024-01-02 150525.jpg
这是一个XSL样式表,它指定了一个模板,匹配XML文档的根节点。在匹配到根节点时,它将生成一个HTML文档,在HTML文档中包含了一个JavaScript警告框,显示内容为"hacked by xsser"。这段代码具有XSS(跨站脚本)攻击的特征,因为它会在用户浏览器中执行恶意脚本。
屏幕截图 2024-01-02 122142.jpg
4、保存后访问上传的test.jpg路径
屏幕截图 2024-01-02 122235.jpg
屏幕截图 2024-01-02 122249.jpg
5、构建一个 test.xml 文件,并把刚才 test.jpg URL路径复制粘贴到 test.xml 文件中。
屏幕截图 2024-01-02 122318.jpg
这段XML文档的代码它指定了一个外部XSL样式表的URL地址。这段代码表明浏览器应该将XML文档与指定的XSL样式表进行关联,并使用该样式表对XML文档进行转换。

6、同样在新建一个标题为test2文章下作为附件上传并保存。
屏幕截图 2024-01-02 122359.jpg
7、访问test2文章的附件test.xml的路径
屏幕截图 2024-01-02 122427.jpg
8、成功触发XSS弹窗,且为存储型XSS
屏幕截图 2024-01-02 122441.jpg

修复建议:
1、使用最新版的Ueditor编辑器版本
2、使用白名单方式对上传文件的后缀名进行严格限制

标签:XML,UEditor,XSS,xml,文档,test,上传
From: https://www.cnblogs.com/gsh23/p/18087953

相关文章

  • Tomcat 9.0 conf server.xml sample
    C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat9.0\conf\server.xml <Connectorprotocol="HTTP/1.1"port="8080"maxThreads="200"connectionTimeout="20000"......
  • XSS 从 PDF 中窃取数据
    XSS从PDF中窃取数据将服务器端XSS注入到动态生成的PDF中在hackthebox的Book机器(ScriptingTrack)上,我遇到了一个Web应用程序,它使用用户控制的输入来生成PDF文件。用户输入输入,下载时该输入将呈现为PDF文件。我从阅读许多文章中意识到与动态生成的PDF相关的......
  • pikachu靶场第八关——XSS(跨站脚本)之DOM型xss(附代码审计)
    什么是DOM?简单来说DOM文档就是一份XML文档,当有了DOM标准之后,DOM便将前端html代码化为一个树状结构,方便程序和脚本能够轻松的动态访问和更新这个树状结构的内容、结构以及样式,且不需要经过服务端,所以DOM型xss在js前端自己就可以完成数据的输入输出,不与服务器产生交互,这样来说DO......
  • XML基础
    XML被设计用来传输和存储数据HTML被设计用来显示数据XML指可扩展标记语言特点xml与操作系统、编程语言的开发平台无关实现不同系统之间的数据交换作用数据交互配置应用程序和网站......
  • Eclipse中xml格式化设置
    1.问题Eclipse中xml文件格式化后,整个一团糟,并不是我们想要的,我们需要自行修改其格式化参数2.解决2.1找到Windows>Preference>XML>XMLFiles>Editor2.2具体参数Linewidth:设置每行宽度Linewidth设定为80到100个字符。Splitmultipleattributeseachonanewli......
  • JSX(JavaScript XML)语法
    1.在script标签中使用JSX语法需要:使用babel在script标签上添加:type="text/babel"2.JSX中的注释使用//、/**/使用{/**/}3.嵌入数据情况一:当变量是Number、String、Array类型时,可以直接显示情况二:当变量是null、undefined、Boolean类型时,内容为空;如果希望可以显示......
  • XML格式数据集转YOLO格式的TXT文件
    importxml.etree.ElementTreeasETimportpickleimportosfromosimportlistdir,getcwdfromos.pathimportjoindefconvert(size,box):#size=(width,height)b=(xmin,xmax,ymin,ymax)#x_center=(xmax+xmin)/2y_center=(ymax+ym......
  • 深入学习 XML 解析器及 DOM 操作技术
    所有主要的浏览器都内置了一个XML解析器,用于访问和操作XMLXML解析器在访问XML文档之前,必须将其加载到XMLDOM对象中所有现代浏览器都有一个内置的XML解析器,可以将文本转换为XMLDOM对象解析文本字符串以下示例将一个文本字符串解析为XMLDOM对象,并使用JavaScript从中提取......
  • XSS及防御
    一,什么是XSSXSS(跨站脚本攻击,Cross-SiteScripting)是一种常见的安全漏洞,攻击者通过在网页中注入恶意脚本,使得用户在浏览网页时执行这些恶意脚本,从而达到窃取用户信息、会话劫持等恶意目的。通常恶意脚本不仅限于JavaScript,还包括Java,VBScript,Flash,ActiveS;二,XSS及类型1,XSS攻......
  • perl 用 XML::LibXML DOM 解析 Freeplane.mm文件,生成测试用例.csv文件
    Freeplane是一款基于Java的开源软件,继承Freemind的思维导图工具软件,它扩展了知识管理功能,在Freemind上增加了一些额外的功能,比如数学公式、节点属性面板等。在云计算中,解析XML元素和属性是一种常见的操作,因为XML是一种常见的数据交换格式,可以用来表示各种不同的数据结......